Quote from How To Solve by George Polya.
1. Understanding the Problem.
What is the unknown? What are the data? What is the condition? Is it possible to satisfy the condition? Is the condition sufficient to determine the unknown? Or is it insufficient? Or redundant? Or contradictory?
Draw a figure. Introduce suitable notation. Separate the various parts of the condition. Can you write them down?
2. Devising a Plan.
Find the connection between the data and the unknown. You might be obliged to consider auxiliary problems if you can’t find an intermediate connection. You should eventually come up with a plan of the solution.
Have you seen the problem before? Or have you seen the same problem in a slightly different form? Do you know a related problem? Do you know a theorem that could be useful?
Look at the unknown! And try to think of a familiar problem having the same or a similar unknown. Here is a problem related to yours and solved before. Can you use it? Can you use its result? Can you use its method? Should you introduce some auxiliary element in order to make its use possible?
Can you restate the problem? Can you restate it still differently? Go back to definitions.
If you cannot solve the proposed problem, try to solve some related problem first. Can you imagine a more accessible related problem? A more general problem? A more special problem? An analogous problem? Can you solve a part of the problem? Keep only a part of the condition, drop the other part; how far is the unknown then determined, how can it vary? Can you derive something useful from the data? Can you think of other data appropriate for determining the unknown? Can you change the unknown or the data, or both if necessary, so that the new unknown and the new data are nearer to each other?
Did you use all the data? Did you use the whole condition? Have you taken into account all essential notions involved in the problem?
3. Carrying out the Plan.
Carrying out your plan of the solution, check each step. Can you see clearly that the step is correct? Can you prove that it’s correct?
4. Looking Back.
Examine the solution. Can you check the result? Can you check the argument? Can you derive the result differently? Can you see it at a glance?
Can you use the result, or the method, for some other problem?