Du könntest das ganze doch auch gleich rekursiv anlegen, sodass dein Programm immer die einzelnen 3x3-Felder überprüft, nicht bestimmbare frei lässt, und wenn es mit allen fertig ist, eine if-Abfrage kommt.
Sind schon alle Zahlen bestimmt -> fertig, wenn nicht - von vorne beginnen, und alle vorher ausgerechneten Zahlen sozusagen als gegeben betrachten. ^^