Over the weekend I had a chat with a student from twenty five years ago. He's a computer science professor these days and, while catching up, he thanked me for the note I gave him on problem solving. He wasn't the first to say the same thing.

As a freshman I discovered George Pólya's notes on problem solving. Pretty basic stuff, but extremely useful in situations where rigor is expected. I made a version for myself and updated it over the years. While this version mostly applies to math and physics, it has some general themes that can be useful in many other areas. Feel free to steal modify it to your needs if you like.

**Understand the problem**

**First**. You have to understand 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?

**Devise a plan**

**Second**. Find the connection between the data and the unknown. You may be obliged to consider auxiliary problems if an immediate connection cannot be found. You should obtain eventually a plan of the solution.

Have you seen it 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. Could you use it? Could you use its result? Could you use its method? Should you introduce some auxiliary element in order to make its use possible?

Could you restate the problem? Could you restate it still differently? Go back to definitions.

If you cannot solve the proposed problem try to solve first some related problem. Could you imagine a more accessible related problem? A more general problem? A more special problem? An analogous problem? Could 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? Could you derive something useful from the data? Could you think of other data appropriate to determine the unknown? Could you change the unknown or 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?

Consult with others!

Set it aside and work on something else if it is still intractable. It may be that it has to sit in your mind for a long time. It's surprising how often this happens with a path forward suddenly appearing in the shower or on a walk!

**Carry out the plan**

**Third**. Carry out your 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 is correct?

Some problems are intractable! Be prepared to move on after you've spent what you consider enough time.

**Consider what you've done**

**Fourth.** Examine the solution obtained.

Can you check the result? Can you check the argument?

Can you derive the solution differently? Can you see it at a glance?

Can you use the result, or the method, for some other problem?