** Make sure you understand the
problem - some can be analysed very
deeply if you really grasp what's required, leading to a simpler
solution.**

** If necessary, derive an equation, usually in the form
x=f(y) where x is the desired answer and y is some arrangement of the
available
data.**

** Work out the limits for any search you will carry
out: if you don't do this, your search may be impossibly wide.**

** Design an algorithm to solve the problem, using the
equation if appropriate; a computer program must have a method for
searching.**

** Write some code to implement it,
using the equation and limits as above. Any language will do, with
Basic being very popular in this field.**

** When you first try to run the program, frequently it
either won't run or it won't behave as required. Debugging is the order
of the day - this is often a large part of the task!**

** Check the result for accuracy and
completeness. Make sure you've
found all possible solutions. **