Oxford University Computing Laboratory

Sudoku: a programming competition

Questions and Answers

Q1: Is it "Sudoku" or "Sodoku"?

A1: It's "Sudoku": sorry, my mistake. Sodoku is Japanese for 'rat-bite fever', and that doesn't seem too bad a name for a compulsive puzzle.

Q2: I've already written a program to solve Sudoku puzzles: you can find it on my web page. Can I enter this web-based implementation for the competition?

A2: Sorry, but no. We plan to test the entries automatically on a big class of problems, so we need entries to follow the specification that was given, and are runnable directly on our machines.

Q3: The Sudoku problems that appear in newspapers are designed to have a unique solution, but the competition announcement talks about "one or more solutions". Will the competition judges in fact use puzzles with more than one solution? Would the completely blank grid be permissible?

A3: The competition announcement is unambiguous about this. In fact, the newspaper problems sometimes do turn out to have a small number of distinct solutions. The completely blank grid is allowed by the rules of this competition, and does suggest itself as a natural test of the robustness of the programs.

Q4: What will be the weighting between program speed and elegance of the algorithm used?

A4: We will award the prizes to the entries that we consider to be the best in all respects. We will not be especially interested in the minor speed improvements that can be made with low-level optimisations, but we will take account of algorithmic ideas that make the a program particularly effective.

Q5: Do you have any examples of hard puzzles?

A5: Yes, thank you. My collection of puzzles is growing all the time.

Q6: Will unsolvable puzzles be part of the test suite? Can unsolvable cases be submitted as part of an entry? Will you be measuring the time taken for the program to terminate without producing any output in this case?

A6: The specification is unambiguous on this point. Unsolvable examples are welcome, particularly if they succeed in crashing other entries. We are certainly interested in the time taken by the programs in this case.