| Row | 0, start {} | (0,0)=5; (0,1)=3; (0,4)=7 | {} -> {5} -> {5,3} -> {5,3,7} | pass |
| Row | 1, start {} | (1,0)=6; (1,3)=1; (1,4)=9; (1,5)=5 | {} -> {6} -> {6,1} -> {6,1,9} -> {6,1,9,5} | pass |
| Row | 2, start {} | (2,1)=9; (2,2)=8; (2,7)=6 | {} -> {9} -> {9,8} -> {9,8,6} | pass |
| Row | 3, start {} | (3,0)=8; (3,4)=6; (3,8)=3 | {} -> {8} -> {8,6} -> {8,6,3} | pass |
| Row | 4, start {} | (4,0)=4; (4,3)=8; (4,5)=3; (4,8)=1 | {} -> {4} -> {4,8} -> {4,8,3} -> {4,8,3,1} | pass |
| Row | 5, start {} | (5,0)=7; (5,4)=2; (5,8)=6 | {} -> {7} -> {7,2} -> {7,2,6} | pass |
| Row | 6, start {} | (6,1)=6; (6,6)=2; (6,7)=8 | {} -> {6} -> {6,2} -> {6,2,8} | pass |
| Row | 7, start {} | (7,3)=4; (7,4)=1; (7,5)=9; (7,8)=5 | {} -> {4} -> {4,1} -> {4,1,9} -> {4,1,9,5} | pass |
| Row | 8, start {} | (8,4)=8; (8,7)=7; (8,8)=9 | {} -> {8} -> {8,7} -> {8,7,9} | pass |
| Column | 0, start {} | (0,0)=5; (1,0)=6; (3,0)=8; (4,0)=4; (5,0)=7 | {} -> {5} -> {5,6} -> {5,6,8} -> {5,6,8,4} -> {5,6,8,4,7} | pass |
| Column | 1, start {} | (0,1)=3; (2,1)=9; (6,1)=6 | {} -> {3} -> {3,9} -> {3,9,6} | pass |
| Column | 2, start {} | (2,2)=8 | {} -> {8} | pass |
| Column | 3, start {} | (1,3)=1; (4,3)=8; (7,3)=4 | {} -> {1} -> {1,8} -> {1,8,4} | pass |
| Column | 4, start {} | (0,4)=7; (1,4)=9; (3,4)=6; (5,4)=2; (7,4)=1; (8,4)=8 | {} -> {7} -> {7,9} -> {7,9,6} -> {7,9,6,2} -> {7,9,6,2,1} -> {7,9,6,2,1,8} | pass |
| Column | 5, start {} | (1,5)=5; (4,5)=3; (7,5)=9 | {} -> {5} -> {5,3} -> {5,3,9} | pass |
| Column | 6, start {} | (6,6)=2 | {} -> {2} | pass |
| Column | 7, start {} | (2,7)=6; (6,7)=8; (8,7)=7 | {} -> {6} -> {6,8} -> {6,8,7} | pass |
| Column | 8, start {} | (3,8)=3; (4,8)=1; (5,8)=6; (7,8)=5; (8,8)=9 | {} -> {3} -> {3,1} -> {3,1,6} -> {3,1,6,5} -> {3,1,6,5,9} | pass |
| Box | 0, start {} | (0,0)=5; (0,1)=3; (1,0)=6; (2,1)=9; (2,2)=8 | {} -> {5} -> {5,3} -> {5,3,6} -> {5,3,6,9} -> {5,3,6,9,8} | pass |
| Box | 1, start {} | (0,4)=7; (1,3)=1; (1,4)=9; (1,5)=5 | {} -> {7} -> {7,1} -> {7,1,9} -> {7,1,9,5} | pass |
| Box | 2, start {} | (2,7)=6 | {} -> {6} | pass |
| Box | 3, start {} | (3,0)=8; (4,0)=4; (5,0)=7 | {} -> {8} -> {8,4} -> {8,4,7} | pass |
| Box | 4, start {} | (3,4)=6; (4,3)=8; (4,5)=3; (5,4)=2 | {} -> {6} -> {6,8} -> {6,8,3} -> {6,8,3,2} | pass |
| Box | 5, start {} | (3,8)=3; (4,8)=1; (5,8)=6 | {} -> {3} -> {3,1} -> {3,1,6} | pass |
| Box | 6, start {} | (6,1)=6 | {} -> {6} | pass |
| Box | 7, start {} | (7,3)=4; (7,4)=1; (7,5)=9; (8,4)=8 | {} -> {4} -> {4,1} -> {4,1,9} -> {4,1,9,8} | pass |
| Box | 8, start {} | (6,6)=2; (6,7)=8; (7,8)=5; (8,7)=7; (8,8)=9 | {} -> {2} -> {2,8} -> {2,8,5} -> {2,8,5,7} -> {2,8,5,7,9} | pass |
| Finish | all 27 groups | each dot skipped | no duplicate in any group | return true |