To summarize, the following is not a canonical form since not all puzzles can be transformed into it:

- Code: Select all
`|123|456|789|`

|456|...|...|

|789|...|...|

There are many options for canonical forms. If the puzzle is transformed to have the smallest row order lexicographic value, then the row-normal form develops:

- Code: Select all
`|123|456|789|`

|45.|...|...|

|...|...|...|

If, in addition, box 1 is required to be 1-9 in row order then the box-normal form develops:

- Code: Select all
`|123|45.|...|`

|456|...|...|

|789|...|...|

where the extra "45" always occurs although not explicitly required by the definitions (braid analysis helped me to picture why).

Transformation of a puzzle into canonical form is accomplished by the following operations:

1. Permuting the three stacks (6 permuations)

2. Permuting the three bands (6 permuations)

3. Permuting the three columns within a stack (6^3 permuations)

4. Permuting the three rows within a band (6^3 permuations)

5. Transposing or 90deg rotation (2 permuations)

6. Remapping the 9 digits (9! permutations)

This allows up to 6^8*2*9!=1,218,998,108,160 arrangements (including automorphisms - identical puzzles after transformation). Actual canonicalization can be accomplished with 9*6^2*2=648 operations since the remaining cell order and digit mapping can be immediately determined:

1. Permuting the 9 boxes to box 1 (9 permutations)

2. Permuting the three columns in box 1 (6 permutations)

3. Permuting the three rows in box 1 (6 permutations)

4. Transposing or 90deg rotation (2 permutations)