A Sudoku puzzle is minimal (also called irreducible) if it has a unique solution, but removing any digit would yield a puzzle with multiple solutions. In other words, every
Here are the main optimizations I implemented with (highly approximate) percentage increases in speed: