Eine Sudoku-Lösungsmatrix enthält in jeder Zelle des Sudokus alle noch möglichen Lösungen. Wie auch immer das Sudoku dargestellt wird, kann jedes Element der zugehörigen Lösungsmatrix z.B. einen numerischen Vektor mit Werten aus (⍳9) enthalten (⎕io=1). Es geht aber auch anders:
Statt mit Einträgen von unterschiedlicher Länge können für jede Zelle alle noch möglichen Lösungen mit einem boolschen Vektor der Länge 9 repräsentiert werden. Eine 1 an der 5.Stelle eines solchen Vektors bedeutet dann, dass die 5 zur Lösungsmenge gehört. Zusammen mit
"Wie könnte also eine Alternative aussehen?" ergibt das eine 3x3x3x3 Matrix mit Vektoren der Länge 9 als Elemente.
Diese Vektoren kann man auch entlang einer beliebigen neuen Dimension auftragen. Durch Anwendung von z.B. ⊃[1] erhalte ich eine neue erste Achse, d.h. meine Lösungsmatrix hat letztendlich 5 Achsen der Längen 9,3,3,3,3. Ist SDL diese Matrix, so werden in SDL[5;;;;] alle möglichen Plätze für die 5 mit einer 1 markiert.
Auf die so beschriebene Lösungsmatrix werden dann verschiedene Algorithmen angewandt mit dem Ziel schrittweise die Anzahl möglicher Lösungen zu vermindern bis das Sudoku komplett gelöst ist.