static bool BacktrackingSudoku(Tabuleiro tab, int linha, int coluna, int valor = 999) { if (linha >= 9) { Console.WriteLine("Terminou"); Console.Write(tab); Console.ReadKey(); return(true); } if (coluna >= 9) { return(BacktrackingSudoku(tab, linha + 1, 0)); } for (int i = 1; i < 10; i++) { if (tab.Insere(linha, coluna, i)) { var b2 = BacktrackingSudoku(tab, linha, coluna + 1); if (b2) { return(true); } else { tab.Remove(linha, coluna + 1); } } } return(false); }