To quote wikipedia:
Completed puzzles are always a type of Latin square with an additional constraint on the contents of individual regions. For example, the same single integer may not appear twice in the same 9x9 playing board row or column or in any of the nine 3x3 subregions of the 9x9 playing board.
There will actually be a winner of this one, although I don't have any fancy prizes to hand out (yet? I don't know what my options are here). Winner will be based purely on efficiency, although it would behoove one to make their solution readable.
The program should allow me to specify a file that contains a sudoku puzzle in the following format:
5,3,,,7,,,, 6,,,1,9,5,,, ,9,8,,,,,6, 8,,,,6,,,,3 4,,,8,,3,,,1 7,,,,2,,,,6 ,6,,,,,2,8, ,,,4,1,9,,,5 ,,,,8,,,7,9
Basically, a comma separated file, each line representing a row from an incomplete puzzle. The output should be the same, except completed.
The program should also be able to solve "invalid" Sudoku puzzles, i.e. puzzles that do not provide you with a known starting point (the example I gave gives enough information that you deduce a value to start with). These require some sort of "guess and check" algorithm instead of just deductive reasoning.
If you're realllly feeling adventurous, write a script to generate such puzzles (not part of the competition, just a mental exercise).
I'll take submissions as late as June 30th to determine the winner.
This post has been edited by xclite: 17 June 2011 - 11:57 AM