//check() gibt true, wenn der Wert gesetzt werden kann, sonst false public boolean Solve(int i, int j) { if(j == 9) //Spielfeld zuende { i++; if(i == 9) //Spielfeld zuende return true; j = 0; } if(soduko[i][j] > 0) return Solve(i, j+1); for(int x=1; x<10; x++) { if(check(i, j, x)) { soduko[i][j] = x; if(Solve(i, j+1)) return true; } } feld[i][j] = 0; return false; }