Solving custom Sudokus - sudoku-solver.ch
TLDR: I built sudoku-solver.ch to solve custom, special-type Sudokus - check it out if you need some help to solve one!
A while ago, I solved a Geocache which consisted of 26 custom Sudokus, each one being unique. Most of them had additional constraints (and therefore less numbers already filled in), for example this one:
Each arrow indicates that the number in the field pointed to is one bigger than in the field where the arrow is coming from.
As I wrote in Coming back to old problems - Sudoku, the basic technique of constraint propagation and backtracking is fairly efficient and can be extended to include additional constraints, like sums, smaller/bigger than, exact difference, etc.
Using the same techniques but adding additional constraints, I built sudoku-solver.ch, which allows for many common constraints to be added to the board.
Some features:
- Sudoku X: Two additional diagonal units
- Hyper Sudoku: Four additional units
- Killer Sudoku (Sum Sudoku): Regions of variable size must form sums
- Nonomino: No 3x3 block units, but 9 custom, irregular units instead
- Odd-Even Sudoku: Normal Sudoku with odd/even constraints
- Greater/Less Than Sudoku: Normal Sudoku with greater/less than constraints
I also learned a lot about Web workers and generating beautiful random colors on the way.
You can check out the Source code here: Github