! 3.
5.
0. 6.
9.
1. 0.
7. 2. ! ! 2. 1. 6. 0. 7. 0. 5. 9. 4. ! ! 0. 0. 0. 2. 5. 4. 0. 0. 0. ! ! 1. 0. 0. 0. 3. 0. 0. 0. 7. ! ! 8. 4. 9. 0. 0. 0. 6. 5. 3. ! ! 5. 0. 0. 0. 4. 0. 0. 0. 9. ! ! 0. 0. 0. 1. 8. 7. 0. 0. 0. ! ! 6. 8. 5. 0. 2. 0. 7. 4. 1. ! ! 7. 2. 0. 4. 6. 5. 0. 3. 8. ! |
! 3.
5.
4. 6.
9.
1. 8.
7. 2. ! ! 2. 1. 6. 0. 7. 0. 5. 9. 4. ! ! 0. 0. 0. 2. 5. 4. 0. 0. 0. ! ! 1. 0. 0. 0. 3. 0. 0. 0. 7. ! ! 8. 4. 9. 0. 0. 0. 6. 5. 3. ! ! 5. 0. 0. 0. 4. 0. 0. 0. 9. ! ! 0. 0. 0. 1. 8. 7. 0. 0. 0. ! ! 6. 8. 5. 0. 2. 0. 7. 4. 1. ! ! 7. 2. 0. 4. 6. 5. 0. 3. 8. ! |
! 3.
5.
4. 6.
9.
1. 8.
7. 2. ! ! 2. 1. 6. 3. 7. 8. 5. 9. 4. ! ! 0. 0. 0. 2. 5. 4. 0. 0. 0. ! ! 1. 0. 0. 0. 3. 0. 0. 0. 7. ! ! 8. 4. 9. 0. 0. 0. 6. 5. 3. ! ! 5. 0. 0. 0. 4. 0. 0. 0. 9. ! ! 0. 0. 0. 1. 8. 7. 0. 0. 0. ! ! 6. 8. 5. 0. 2. 0. 7. 4. 1. ! ! 7. 2. 0. 4. 6. 5. 0. 3. 8. ! |
! 3.
5.
4. 6.
9.
1. 8.
7. 2. ! ! 2. 1. 6. 3. 7. 8. 5. 9. 4. ! ! 9. 7. 8. 2. 5. 4. 3. 1. 6. ! ! 1. 0. 0. 0. 3. 0. 0. 0. 7. ! ! 8. 4. 9. 0. 0. 0. 6. 5. 3. ! ! 5. 0. 0. 0. 4. 0. 0. 0. 9. ! ! 0. 0. 0. 1. 8. 7. 0. 0. 0. ! ! 6. 8. 5. 0. 2. 0. 7. 4. 1. ! ! 7. 2. 0. 4. 6. 5. 0. 3. 8. |
! 3.
5.
4. 6.
9.
1. 8.
7. 2. ! ! 2. 1. 6. 3. 7. 8. 5. 9. 4. ! ! 9. 7. 8. 2. 5. 4. 3. 1. 6. ! ! 1. 6. 2. 5. 3. 9. 4. 8. 7. ! ! 8. 4. 9. 0. 0. 0. 6. 5. 3. ! ! 5. 0. 0. 0. 4. 0. 0. 0. 9. ! ! 0. 0. 0. 1. 8. 7. 0. 0. 0. ! ! 6. 8. 5. 0. 2. 0. 7. 4. 1. ! ! 7. 2. 0. 4. 6. 5. 0. 3. 8. ! |
! 3.
5.
4. 6.
9.
1. 8.
7. 2. ! ! 2. 1. 6. 3. 7. 8. 5. 9. 4. ! ! 9. 7. 8. 2. 5. 4. 3. 1. 6. ! ! 1. 6. 2. 5. 3. 9. 4. 8. 7. ! ! 8. 4. 9. 7. 1. 2. 6. 5. 3. ! ! 5. 0. 0. 0. 4. 0. 0. 0. 9. ! ! 0. 0. 0. 1. 8. 7. 0. 0. 0. ! ! 6. 8. 5. 0. 2. 0. 7. 4. 1. ! ! 7. 2. 0. 4. 6. 5. 0. 3. 8. ! |
! 3.
5.
4. 6.
9.
1. 8.
7. 2. ! ! 2. 1. 6. 3. 7. 8. 5. 9. 4. ! ! 9. 7. 8. 2. 5. 4. 3. 1. 6. ! ! 1. 6. 2. 5. 3. 9. 4. 8. 7. ! ! 8. 4. 9. 7. 1. 2. 6. 5. 3. ! ! 5. 3. 7. 8. 4. 6. 1. 2. 9. ! ! 0. 0. 0. 1. 8. 7. 0. 0. 0. ! ! 6. 8. 5. 0. 2. 0. 7. 4. 1. ! ! 7. 2. 0. 4. 6. 5. 0. 3. 8. ! |
! 3.
5.
4. 6.
9.
1. 8.
7. 2. ! ! 2. 1. 6. 3. 7. 8. 5. 9. 4. ! ! 9. 7. 8. 2. 5. 4. 3. 1. 6. ! ! 1. 6. 2. 5. 3. 9. 4. 8. 7. ! ! 8. 4. 9. 7. 1. 2. 6. 5. 3. ! ! 5. 3. 7. 8. 4. 6. 1. 2. 9. ! ! 4. 9. 3. 1. 8. 7. 2. 6. 5. ! ! 6. 8. 5. 0. 2. 0. 7. 4. 1. ! ! 7. 2. 0. 4. 6. 5. 0. 3. 8. ! |
! 3.
5.
4. 6.
9.
1. 8.
7. 2. ! ! 2. 1. 6. 3. 7. 8. 5. 9. 4. ! ! 9. 7. 8. 2. 5. 4. 3. 1. 6. ! ! 1. 6. 2. 5. 3. 9. 4. 8. 7. ! ! 8. 4. 9. 7. 1. 2. 6. 5. 3. ! ! 5. 3. 7. 8. 4. 6. 1. 2. 9. ! ! 4. 9. 3. 1. 8. 7. 2. 6. 5. ! ! 6. 8. 5. 9. 2. 3. 7. 4. 1. ! ! 7. 2. 0. 4. 6. 5. 0. 3. 8. ! |
! 3.
5.
4. 6.
9.
1. 8.
7. 2. ! ! 2. 1. 6. 3. 7. 8. 5. 9. 4. ! ! 9. 7. 8. 2. 5. 4. 3. 1. 6. ! ! 1. 6. 2. 5. 3. 9. 4. 8. 7. ! ! 8. 4. 9. 7. 1. 2. 6. 5. 3. ! ! 5. 3. 7. 8. 4. 6. 1. 2. 9. ! ! 4. 9. 3. 1. 8. 7. 2. 6. 5. ! ! 6. 8. 5. 9. 2. 3. 7. 4. 1. ! ! 7. 2. 1. 4. 6. 5. 9. 3. 8. ! |
Eingabe einer 9x9 Matrix mit vorgegebenen Ziffern; Verteilung entsprechend Sudoku-Regeln.
Berechnung der Komplementmengen für die Zeilen (Z-), für die Spalten (S-), sowie wie für 3er-Quadranten (Q-).
Zeilenweise: Berechne für jedes Element der Zeile die Schnittmenge entsprechend Zi- geschnitten Si- geschnitten Qi- indem man die Schnittmengen nach Mächtigkeit ordnet: kleinste Mächtigkeit vor grösserer Mächtigkeit; setze eindeutige Werte als fixiert; lösche fixierte Werte aus Lösungsmenge.
Falls für eine Zele mehr als 1 Option übrig bleibt, ist der Freiheitsgrad grösser als 1. In diesem Fall muss in Rechnung gestellt werden, dass eine aktuelle Auswahl zu einem späteren Zeitpunkt ('backtracking') revidiert werden muss. Daher Erweiterung der Lösungsmenge für Zeile Zi- um die Zeile Zi+1-. Verrechnung der Spalten und Unterquadrate aus den Zeilen Zi- + Zi+1-. (Sinnvoll für Zeilen mit den gleichen Unterquadraten!).Gehe zu (3) Hinweis: Jede Zeile benötigt mindestens so viele verschiedene Ziffern, wie verschiedene Felder vorkommen!
Wenn keine Lösung möglich ist,dann Abbruch mit Fehlermeldung 'NO SOLUTION'.
Falls Lösung möglich ist und noch eine Zeile frei, dann gehe zur nächsten Zeile und folge weiter mit (3)
! 0.
6.
3. 0.
0.
0. 8.
4. 0. ! ! 5. 0. 0. 3. 0. 8. 0. 0. 9. ! ! 0. 7. 0. 0. 2. 0. 0. 6. 0. ! ! 0. 0. 7. 0. 0. 0. 3. 0. 0. ! ! 0. 3. 0. 0. 0. 0. 0. 2. 0. ! ! 0. 0. 2. 0. 0. 0. 9. 0. 0. ! ! 0. 1. 0. 0. 5. 0. 0. 9. 0. ! ! 7. 0. 0. 4. 0. 9. 0. 0. 8. ! ! 0. 8. 9. 0. 0. 0. 7. 1. 0. ! |
! 2.
6.
3. 7.
9.
5. 8.
4. 1. ! ! 5. 4. 1. 3. 6. 8. 2. 7. 9. ! ! 9. 7. 8. 1. 2. 4. 5. 6. 3. ! ! 0. 0. 7. 0. 0. 0. 3. 0. 0. ! ! 0. 3. 0. 0. 0. 0. 0. 2. 0. ! ! 0. 0. 2. 0. 0. 0. 9. 0. 0. ! ! 0. 1. 0. 0. 5. 0. 0. 9. 0. ! ! 7. 0. 0. 4. 0. 9. 0. 0. 8. ! ! 0. 8. 9. 0. 0. 0. 7. 1. 0. ! |
! 2.
6.
3. 7.
9.
5. 8.
4. 1. ! ! 5. 4. 1. 3. 6. 8. 2. 7. 9. ! ! 9. 7. 8. 1. 2. 4. 5. 6. 3. ! ! 0. 0. 7. 0. 0. 0. 3. 0. 0. ! ! 0. 3. 0. 0. 0. 0. 0. 2. 0. ! ! 0. 0. 2. 0. 0. 0. 9. 0. 0. ! ! 0. 1. 0. 0. 5. 0. 0. 9. 0. ! ! 7. 0. 0. 4. 0. 9. 0. 0. 8. ! ! 0. 8. 9. 0. 0. 0. 7. 1. 0. ! |
! 2.
6.
3. 7.
9.
5. 8.
4. 1. ! ! 5. 4. 1. 3. 6. 8. 2. 7. 9. ! ! 9. 7. 8. 1. 2. 4. 5. 6. 3. ! ! 8. 9. 7. 5. 1. 2. 3. 4. 6. ! ! 6. 3. 4. 9. 8. 7. 1. 2. 5. ! ! 1. 5. 2. 6. 4. 3. 9. 8. 7. ! ! 0. 1. 0. 0. 5. 0. 0. 9. 0. ! ! 7. 0. 0. 4. 0. 9. 0. 0. 8. ! ! 0. 8. 9. 0. 0. 0. 7. 1. 0. ! |