It was shown that solving the puzzle by logic is the most efficient method, as long as the puzzle has enough givens to be resolved. How many givens are needed in a puzzle to be resolved only by logic? The answer to this needs to be investigated, so far, I couldn’t find the answer. In thecontrary, DFS always solves the puzzle. So far, my solver has been able to solve every single Sudoku regardless of its complexity.But using DFS may take long time to find the solution.I found the combination of both methods (Logic and DFS) a good solution to optimize the time to solve the puzzle. By applying logic methods first (Naked Singles, Hidden Singles, etc) simplifies tremendously the original state of the puzzle prior to apply DFS. The illustration above shows my solver with only the givens.