Speed improvements in sudoku solving algorithm