Ejemplo n.º 1
0
        private bool IsSolvable(SudokuSolutionNode a_node)
        {
            if (a_node.Board.IsSolved)
            {
                return(true);
            }

            if (!a_node.Board.IsSolvable)
            {
                return(false);
            }

            a_node.StepAll();

            SudokuSolutionNode node = a_node.Nodes.FirstOrDefault();

            if (node == null)
            {
                return(true);
            }

            node.StepAll();

            return(IsSolvable(node.Nodes.First()));
        }