Consider the following $9 \times 9$ Sudoku board
963 174 258
178 325 649
254 689 731
821 437 596
496 852 317
735 961 824
589 713 462
317 246 985
642 598 173
and the following partially filled Sudoku board
.6. 1.4 .5.
2.. ... ..1
..8 3.5 6..
8.. 4.7 ..6
..6 ... 3..
7.. 9.1 ..4
5.. ... ..2
.4. 5.8 .7.
..7 2.6 9..
The task is to find out if they are in the same equivalence class.
Sudoku boards are closed under the operations below:
- Relabeling symbols (9!)
- Band permutations (3!)
- Row permutations within a band (${3!}^3$)
- Stack permutations (3!)
- Column permutations within a stack (${3!}^3$)
- Reflection, transposition and rotation (2).
How can I find out (without testing for all possible combinations of the unsolved board) if they are in the same equivalence class?
The approach should probably be to define a canonical form for the solved puzzle and then find a method to derive the canonical form from any Sudoku board. But what is my choice of canonical form and how to derive the canonical form from any Sudoku board (given that we have a solved board)?