Sudoku is a game in which you place numbers in a puzzle with constraints. For example, in the puzzle below you place the numbers 1 through 9 so no number is repeated in a row, a column, or section. A section is one of the three-by-three subgrids outlined in black. There are many variations, but the form below is common.

I decided to build a sudoku solver after reading Peter Norvig's Solving Every Sudoku Puzzle. There's more about my solver on Bitbucket:


  1. Fill in your known numbers or select one of the pre-defined puzzles from the list. (Actually, you don't have to fill anything in. The solver will "solve" an empty puzzle without complaint. It's easy!)
  2. Click the "Solve" button.
  3. Savor your solution.


  1. The solver just solves the stupid puzzle. It doesn't share anything about its process. That is, you don't learn anything. It's kind of cheating.
  2. If your puzzle is unsolvable, the solver won't tell you why. It just complains.
  3. If there's more than one solution, the solver stops after the first. It's lazy like that.
  4. The solver employs some very unattractive JavaScript. That isn't disappointing to everyone, but it's bound to bother someone.