def solve(S,i,j): if i == 9: return ... elif S[i][j] > 0: ... return ... for k in possibles(S,i,j): S[i][j] = k ... if solve(S,a,b): return ... S[i][j] = 0 return False