The question of whether P equals NP essentially asks whether there exist problems which take a long time to solve but whose solutions can be checked quickly. More formally, a problem is said to be in P if there is a program for a Turing machine, an ideal theoretical computer with unbounded amounts of memory, such that running instances of the problem through the program will always answer the question in polynomial time — time always bounded by some fixed polynomial power of the length of the input. A problem is said to be in NP, if the problem can be solved in polynomial time when instead of being run on a Turing machine, it is run on a non-deterministic Turing machine, which is like a Turing machine but is able to make copies of itself to try different approaches to the problem simultaneously.