Monday May 17, 2010
Sudoku is a standard way to test basic problem solving skills. By making a generic Sudoku solver, those skills are pushed to a new level.
A game of recent popularity, Sudoku literally translates from Japanese "number place." To play, one places symbols in an NxN perfect-square grid attempting to complete a Latin square. Furthermore, no symbol may repeat within a section. (The standard board size is 9x9, split up into 3x3 sections, and the symbols used are the decimal numerics [0 through 9]).
Code an algorithm to find all possible solutions to an arbitrary-size, arbitrarily-started sudoku board.
Although this could be approached in a brute-force manner, strategies that you can use to code a more "elegant" solution can be found here.