Solving Sudoku


Input values:











Check 1 - Establish possible numbers
0 changes made
End of establish possible numbers

sqfil 1 for row 1
col 1: 1 2 3 4 5 6 7 8 9
col 2: 1 2 3 4 5 6 7 8 9
col 3: 1 2 3 4 5 6 7 8 9
col 4: 1 2 3 4 5 6 7 8 9
col 5: 1 2 3 4 5 6 7 8 9
col 6: 1 2 3 4 5 6 7 8 9
col 7: 1 2 3 4 5 6 7 8 9
col 8: 1 2 3 4 5 6 7 8 9
col 9: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 2
col 1: 1 2 3 4 5 6 7 8 9
col 2: 1 2 3 4 5 6 7 8 9
col 3: 1 2 3 4 5 6 7 8 9
col 4: 1 2 3 4 5 6 7 8 9
col 5: 1 2 3 4 5 6 7 8 9
col 6: 1 2 3 4 5 6 7 8 9
col 7: 1 2 3 4 5 6 7 8 9
col 8: 1 2 3 4 5 6 7 8 9
col 9: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 3
col 1: 1 2 3 4 5 6 7 8 9
col 2: 1 2 3 4 5 6 7 8 9
col 3: 1 2 3 4 5 6 7 8 9
col 4: 1 2 3 4 5 6 7 8 9
col 5: 1 2 3 4 5 6 7 8 9
col 6: 1 2 3 4 5 6 7 8 9
col 7: 1 2 3 4 5 6 7 8 9
col 8: 1 2 3 4 5 6 7 8 9
col 9: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 4
col 1: 1 2 3 4 5 6 7 8 9
col 2: 1 2 3 4 5 6 7 8 9
col 3: 1 2 3 4 5 6 7 8 9
col 4: 1 2 3 4 5 6 7 8 9
col 5: 1 2 3 4 5 6 7 8 9
col 6: 1 2 3 4 5 6 7 8 9
col 7: 1 2 3 4 5 6 7 8 9
col 8: 1 2 3 4 5 6 7 8 9
col 9: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 5
col 1: 1 2 3 4 5 6 7 8 9
col 2: 1 2 3 4 5 6 7 8 9
col 3: 1 2 3 4 5 6 7 8 9
col 4: 1 2 3 4 5 6 7 8 9
col 5: 1 2 3 4 5 6 7 8 9
col 6: 1 2 3 4 5 6 7 8 9
col 7: 1 2 3 4 5 6 7 8 9
col 8: 1 2 3 4 5 6 7 8 9
col 9: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 6
col 1: 1 2 3 4 5 6 7 8 9
col 2: 1 2 3 4 5 6 7 8 9
col 3: 1 2 3 4 5 6 7 8 9
col 4: 1 2 3 4 5 6 7 8 9
col 5: 1 2 3 4 5 6 7 8 9
col 6: 1 2 3 4 5 6 7 8 9
col 7: 1 2 3 4 5 6 7 8 9
col 8: 1 2 3 4 5 6 7 8 9
col 9: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 7
col 1: 1 2 3 4 5 6 7 8 9
col 2: 1 2 3 4 5 6 7 8 9
col 3: 1 2 3 4 5 6 7 8 9
col 4: 1 2 3 4 5 6 7 8 9
col 5: 1 2 3 4 5 6 7 8 9
col 6: 1 2 3 4 5 6 7 8 9
col 7: 1 2 3 4 5 6 7 8 9
col 8: 1 2 3 4 5 6 7 8 9
col 9: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 8
col 1: 1 2 3 4 5 6 7 8 9
col 2: 1 2 3 4 5 6 7 8 9
col 3: 1 2 3 4 5 6 7 8 9
col 4: 1 2 3 4 5 6 7 8 9
col 5: 1 2 3 4 5 6 7 8 9
col 6: 1 2 3 4 5 6 7 8 9
col 7: 1 2 3 4 5 6 7 8 9
col 8: 1 2 3 4 5 6 7 8 9
col 9: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 9
col 1: 1 2 3 4 5 6 7 8 9
col 2: 1 2 3 4 5 6 7 8 9
col 3: 1 2 3 4 5 6 7 8 9
col 4: 1 2 3 4 5 6 7 8 9
col 5: 1 2 3 4 5 6 7 8 9
col 6: 1 2 3 4 5 6 7 8 9
col 7: 1 2 3 4 5 6 7 8 9
col 8: 1 2 3 4 5 6 7 8 9
col 9: 1 2 3 4 5 6 7 8 9
729 unplaced numbers in 81 squares

Check 2 for single sqfil numbers in a square
0 changes made
End of check single numbers
0 numbers added

Check 3a for single occurrence of sqfil number in a row
0 changes made
End of check single numbers - rows
0 numbers added

Check 3b for single occurrence of sqfil number in a col
End of check single numbers - cols
0 numbers added
0 changes made

Check 3c for single occurrence of sqfil number in an octant
End of check single numbers - octants
0 numbers added
0 changes made

CHECK 4a for single missing endvalue number - rows
0 numbers added
0 changes made
End of CHECK 4a - rows

CHECK 4b for single missing endvalue number - cols
0 numbers added
0 changes made
End of CHECK 4b - cols

CHECK 4c for single missing endvalue number - octants
0 numbers added
0 changes made
End of CHECK 4c - octants

Check 5 - Look at every square wrt row, col and oct
0 changes made
End of check 5 looking at square

(No check no 6)


Check 7a - ROWS (2 numbers)
0 changes made

Check 7b - COLUMNS (2 numbers)
0 changes made
End of CHECK 7

Check 8 - Remove possibilities from rows and columns
0 changes made
End of Check 8 - Remove possibilities from rows and columns

Check 9 - Remove possibilities from octants
0 changes made
End of Check 9 - Remove possibilities from octants

LATEST values after iteration 1











Error check 1a - rows

Error check 1b - cols
End of error check 1
sqfil 1 for row 1
col 1:: 1 2 3 4 5 6 7 8 9
col 2:: 1 2 3 4 5 6 7 8 9
col 3:: 1 2 3 4 5 6 7 8 9
col 4:: 1 2 3 4 5 6 7 8 9
col 5:: 1 2 3 4 5 6 7 8 9
col 6:: 1 2 3 4 5 6 7 8 9
col 7:: 1 2 3 4 5 6 7 8 9
col 8:: 1 2 3 4 5 6 7 8 9
col 9:: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 2
col 1:: 1 2 3 4 5 6 7 8 9
col 2:: 1 2 3 4 5 6 7 8 9
col 3:: 1 2 3 4 5 6 7 8 9
col 4:: 1 2 3 4 5 6 7 8 9
col 5:: 1 2 3 4 5 6 7 8 9
col 6:: 1 2 3 4 5 6 7 8 9
col 7:: 1 2 3 4 5 6 7 8 9
col 8:: 1 2 3 4 5 6 7 8 9
col 9:: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 3
col 1:: 1 2 3 4 5 6 7 8 9
col 2:: 1 2 3 4 5 6 7 8 9
col 3:: 1 2 3 4 5 6 7 8 9
col 4:: 1 2 3 4 5 6 7 8 9
col 5:: 1 2 3 4 5 6 7 8 9
col 6:: 1 2 3 4 5 6 7 8 9
col 7:: 1 2 3 4 5 6 7 8 9
col 8:: 1 2 3 4 5 6 7 8 9
col 9:: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 4
col 1:: 1 2 3 4 5 6 7 8 9
col 2:: 1 2 3 4 5 6 7 8 9
col 3:: 1 2 3 4 5 6 7 8 9
col 4:: 1 2 3 4 5 6 7 8 9
col 5:: 1 2 3 4 5 6 7 8 9
col 6:: 1 2 3 4 5 6 7 8 9
col 7:: 1 2 3 4 5 6 7 8 9
col 8:: 1 2 3 4 5 6 7 8 9
col 9:: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 5
col 1:: 1 2 3 4 5 6 7 8 9
col 2:: 1 2 3 4 5 6 7 8 9
col 3:: 1 2 3 4 5 6 7 8 9
col 4:: 1 2 3 4 5 6 7 8 9
col 5:: 1 2 3 4 5 6 7 8 9
col 6:: 1 2 3 4 5 6 7 8 9
col 7:: 1 2 3 4 5 6 7 8 9
col 8:: 1 2 3 4 5 6 7 8 9
col 9:: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 6
col 1:: 1 2 3 4 5 6 7 8 9
col 2:: 1 2 3 4 5 6 7 8 9
col 3:: 1 2 3 4 5 6 7 8 9
col 4:: 1 2 3 4 5 6 7 8 9
col 5:: 1 2 3 4 5 6 7 8 9
col 6:: 1 2 3 4 5 6 7 8 9
col 7:: 1 2 3 4 5 6 7 8 9
col 8:: 1 2 3 4 5 6 7 8 9
col 9:: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 7
col 1:: 1 2 3 4 5 6 7 8 9
col 2:: 1 2 3 4 5 6 7 8 9
col 3:: 1 2 3 4 5 6 7 8 9
col 4:: 1 2 3 4 5 6 7 8 9
col 5:: 1 2 3 4 5 6 7 8 9
col 6:: 1 2 3 4 5 6 7 8 9
col 7:: 1 2 3 4 5 6 7 8 9
col 8:: 1 2 3 4 5 6 7 8 9
col 9:: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 8
col 1:: 1 2 3 4 5 6 7 8 9
col 2:: 1 2 3 4 5 6 7 8 9
col 3:: 1 2 3 4 5 6 7 8 9
col 4:: 1 2 3 4 5 6 7 8 9
col 5:: 1 2 3 4 5 6 7 8 9
col 6:: 1 2 3 4 5 6 7 8 9
col 7:: 1 2 3 4 5 6 7 8 9
col 8:: 1 2 3 4 5 6 7 8 9
col 9:: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 9
col 1:: 1 2 3 4 5 6 7 8 9
col 2:: 1 2 3 4 5 6 7 8 9
col 3:: 1 2 3 4 5 6 7 8 9
col 4:: 1 2 3 4 5 6 7 8 9
col 5:: 1 2 3 4 5 6 7 8 9
col 6:: 1 2 3 4 5 6 7 8 9
col 7:: 1 2 3 4 5 6 7 8 9
col 8:: 1 2 3 4 5 6 7 8 9
col 9:: 1 2 3 4 5 6 7 8 9
729 unplaced numbers in 81 squares

Check 10 - Single possibility in octants
0 numbers added
0 changes made

End of check 10 - single possibility in octants
sqfil 1 for row 1
col 1:: 1 2 3 4 5 6 7 8 9
col 2:: 1 2 3 4 5 6 7 8 9
col 3:: 1 2 3 4 5 6 7 8 9
col 4:: 1 2 3 4 5 6 7 8 9
col 5:: 1 2 3 4 5 6 7 8 9
col 6:: 1 2 3 4 5 6 7 8 9
col 7:: 1 2 3 4 5 6 7 8 9
col 8:: 1 2 3 4 5 6 7 8 9
col 9:: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 2
col 1:: 1 2 3 4 5 6 7 8 9
col 2:: 1 2 3 4 5 6 7 8 9
col 3:: 1 2 3 4 5 6 7 8 9
col 4:: 1 2 3 4 5 6 7 8 9
col 5:: 1 2 3 4 5 6 7 8 9
col 6:: 1 2 3 4 5 6 7 8 9
col 7:: 1 2 3 4 5 6 7 8 9
col 8:: 1 2 3 4 5 6 7 8 9
col 9:: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 3
col 1:: 1 2 3 4 5 6 7 8 9
col 2:: 1 2 3 4 5 6 7 8 9
col 3:: 1 2 3 4 5 6 7 8 9
col 4:: 1 2 3 4 5 6 7 8 9
col 5:: 1 2 3 4 5 6 7 8 9
col 6:: 1 2 3 4 5 6 7 8 9
col 7:: 1 2 3 4 5 6 7 8 9
col 8:: 1 2 3 4 5 6 7 8 9
col 9:: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 4
col 1:: 1 2 3 4 5 6 7 8 9
col 2:: 1 2 3 4 5 6 7 8 9
col 3:: 1 2 3 4 5 6 7 8 9
col 4:: 1 2 3 4 5 6 7 8 9
col 5:: 1 2 3 4 5 6 7 8 9
col 6:: 1 2 3 4 5 6 7 8 9
col 7:: 1 2 3 4 5 6 7 8 9
col 8:: 1 2 3 4 5 6 7 8 9
col 9:: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 5
col 1:: 1 2 3 4 5 6 7 8 9
col 2:: 1 2 3 4 5 6 7 8 9
col 3:: 1 2 3 4 5 6 7 8 9
col 4:: 1 2 3 4 5 6 7 8 9
col 5:: 1 2 3 4 5 6 7 8 9
col 6:: 1 2 3 4 5 6 7 8 9
col 7:: 1 2 3 4 5 6 7 8 9
col 8:: 1 2 3 4 5 6 7 8 9
col 9:: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 6
col 1:: 1 2 3 4 5 6 7 8 9
col 2:: 1 2 3 4 5 6 7 8 9
col 3:: 1 2 3 4 5 6 7 8 9
col 4:: 1 2 3 4 5 6 7 8 9
col 5:: 1 2 3 4 5 6 7 8 9
col 6:: 1 2 3 4 5 6 7 8 9
col 7:: 1 2 3 4 5 6 7 8 9
col 8:: 1 2 3 4 5 6 7 8 9
col 9:: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 7
col 1:: 1 2 3 4 5 6 7 8 9
col 2:: 1 2 3 4 5 6 7 8 9
col 3:: 1 2 3 4 5 6 7 8 9
col 4:: 1 2 3 4 5 6 7 8 9
col 5:: 1 2 3 4 5 6 7 8 9
col 6:: 1 2 3 4 5 6 7 8 9
col 7:: 1 2 3 4 5 6 7 8 9
col 8:: 1 2 3 4 5 6 7 8 9
col 9:: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 8
col 1:: 1 2 3 4 5 6 7 8 9
col 2:: 1 2 3 4 5 6 7 8 9
col 3:: 1 2 3 4 5 6 7 8 9
col 4:: 1 2 3 4 5 6 7 8 9
col 5:: 1 2 3 4 5 6 7 8 9
col 6:: 1 2 3 4 5 6 7 8 9
col 7:: 1 2 3 4 5 6 7 8 9
col 8:: 1 2 3 4 5 6 7 8 9
col 9:: 1 2 3 4 5 6 7 8 9
sqfil 1 for row 9
col 1:: 1 2 3 4 5 6 7 8 9
col 2:: 1 2 3 4 5 6 7 8 9
col 3:: 1 2 3 4 5 6 7 8 9
col 4:: 1 2 3 4 5 6 7 8 9
col 5:: 1 2 3 4 5 6 7 8 9
col 6:: 1 2 3 4 5 6 7 8 9
col 7:: 1 2 3 4 5 6 7 8 9
col 8:: 1 2 3 4 5 6 7 8 9
col 9:: 1 2 3 4 5 6 7 8 9
729 unplaced numbers in 81 squares

Check 11 - OCTANT by OCTANT
0 changes made

Check 12 - Two rows/cols of octant filled
End of check 12 - two rows/cols of octant full
End of Octant by Octant

Check 13 - THREE rows at a time

Looking at octants 1, 2, 3

Looking at octants 4, 5, 6

Looking at octants 7, 8, 9
0 changes made
End of check 13 - Three rows at a time

Check 14 - THREE columns at a time

Looking at octants 1, 4, 7

Looking at octants 2, 5, 8

Looking at octants 3, 6, 9
0 changes made
End of check 14 - Three cols at a time

Error check 2a - rows

Error check 2b - cols

LATEST values after iteration 1











Check 15 - Locked candidates in rows
0 changes made
End of check 15 - locked candidates in rows

Check 16 - Locked candidates in cols
0 changes made
End of check 16 - locked candidates in cols

Check 17 - Locked candidates in octants
0 changes made
End of check 17 - locked candidates in octants

Check 18 - Naked pairs in rows and columns
0 Single pairs found
0 changes made
End of check 18 - naked pairs

Check 19 - Naked triples - first, rows (take 2)
Fatal error: Uncaught Error: Cannot use a scalar value as an array in /home/basecrea/mileham.net/test/sudoku.php:4478 Stack trace: #0 {main} thrown in /home/basecrea/mileham.net/test/sudoku.php on line 4478