A simple Sudoku puzzle solver written in PHP.
๐จ NOTE: This project is still under construction. ๐จ
Run the following in the root of the projec to install sudoku-solver.
composer install
Square One of the m x n values on the puzzle board
Row Horizontal M squares
Column Vertical N squares
Region An m x n subset of squares
Group M/N number of squares in a row (horizontally or vertically)
The strategies used by this solver are based on the strategies as described by Sudoku Dragon.
Strategies should be repeatedly applied until the puzzle is solved.
-
Only Choice Rule
- Scan each row, column and region for a single choice in the group.
-
Single Possibility Rule
- Scan each intersecting row and column for a single choice in the group.
-
Only Square Rule
- Scan each row/column with two empty cells.
- Identify the two missing numbers, A and B.
- Scan each intersecting row, column or region and try to eliminate option A.
- If option A can be eliminated for a particular cell, fill in option B in that cell.
- Fill in option A in the other empty cell.
-
Two out of Three Rule
- From the top down, scan three rows or columns at a time for a particular number starting at 1.
-
Sub-group exclusion rule
- TODO
-
Brute Force
- Try all options until a solution is found :)