disons que des fois, ça ne saute pas aux yeux.
En gros, cet algo essaie, pour chaque ligne, chaque colonne, et chaque carré (9 * 9 * 9), de voir si un des 9 chiffres ne peut etre mis que dans une seule case.
Donc ça fait 9^4 = 6561 cas a voir : unr bricole pour la machine, mais des fois, ça nous échappe 
C´est l´algo principal de mon programme (que j´appellerai l´algo de recherche)
Mon programme est fait de 3 algos :
- l´algo trivial (s´il ne manque qu´un seul chiffre dans une ligne/colonne/carré), alors il le met.
- l´algo de recherche (ci dessus)
- l´algo brute-force si les 2 autres ont échoué.
L´algo brute force prend un case vide, voit quel chiffre il peut y mettre (en gardant le sudoku possible). Si par exemple il peut mettre 3 chiffres différents, alors il considere 3 nouveaux cas, et pour chaque nouveaux cas, il recommence.
Dès qu´il est bloqué, il interromp la branche ou il est. Dès qu´il a réussi a tout remplir, il affiche la solution et casse toutes les autres branches.
Cet algo trouvera forcément la solution si elle existe (brute force porte bien son nom), par contre, cet algo n´est pas humainement compréhensible, comme les 2 précédents.