i want to generate a simple Sudokugenerator using backtrack. I am stuck / don't know if i used backtracking properly. zahlIstGueltigAufPosition returns if the number zahl is valid (if zahl appears once in the row/column or one of the 9 Boxes).
public static boolean fuelleArray(int y, int x, int zahl){
sudokuArray[y][x]=zahl;
if(zahlIstGueltigAufPosition(y,x,zahl)){
if(x==8 && y<=7 && fuelleArray(y+1,0,1)){
return true;
}else if(x==8 && y==8 && fuelleArray(y,x,zahl)) {
return true;
}else if(x<=7 && y<=8){
if(fuelleArray(y,x+1,1)) {
return true;
}
}
}else{
if(zahl<9 && x<=8 && y<=8 ){fuelleArray(y,x,zahl+1);}
}
return false;
}
The Program gives out:
1 2 3 4 5 6 7 8 9
4 5 6 1 2 3 9 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
Thanks for any help