Buy the book
Can you solve this little minesweeper puzzle?
In this problem you have to devise a strategy to beat the computer in a "guess the polynomial" game.
The 2 hardest problems in programming are naming, cache invalidation, and off-by-one errors.