int(,) Sudoku(8,8) Faire Integer I,J Pour I = 0 , est < LimiteSuppérieure(0) , i incrémente UN Pour J = 0 , est < LimiteSuppérieure(1) , j incrémente UN Si valeur(Sudoku(i,j)) = rien (nothing ou null...) alors Debut Si TrouverNombre(i,j) Fin Si Prochain Prochain Tant que CompterBlanc() > 0 Méthode TrouverNombre(Int DimensionZero,Int DimensionUN) Faire SI Verifierligne(DimensionUN,nbr) == FAUX && VerifierColonne(DimensionZero,nbr) == FAUX && VerifierBoite(DimensionZero,DimensionUN,nbr) == FAUX alors Debut Si EcrireNbr(DimensionZero,DimensionUN,nbr) Sortir .. (Exit,ou I=8) Fin Si I = I+1 Tant que I <> 8 Fin méthode Fonction Verifierligne(Int DimensionUN,int nbr) Integer I Pour I = 0 , est < LimiteSuppérieure(0) , i incrémente UN si valeur(sudoku(I,DimensionUN)) = nbr alors Debut Si Retourne VRAI Fin Si Prochain Retourne FAUX Fin Fonction Fonction VerifierColonne(Int DimensionZero,int nbr) Integer I Pour I = 0 , est < LimiteSuppérieure(1) , i incrémente UN si valeur(sudoku(DimensionUN,I)) = nbr alors Debut Si Retourne VRAI Fin Si Prochain Retourne FAUX Fin Fonction Fonction VerifierBoite(int DimensionZero,int DimensionUN,int nbr) Fin Fonction Méthode EcrireNbr(Int DimensionZero,Int DimensionUN,int nbr) valeur(Sudoku(DimensionZero,DimensionUN)) = nbr Fin Méthode Fonction CompterBlanc() Integer I,J,NBR Pour I = 0 , est < LimiteSuppérieure(0) , i incrémente UN Pour J = 0 , est < LimiteSuppérieure(1) , j incrémente UN Si valeur(Sudoku(i,j)) = rien (nothing ou null...) alors Debut Si NBR = NBR + 1 Fin Si Prochain Prochain Fin Fonction