do not count clues to measure difficulty of a sudoku. Use a list singly linked to root node instead of an array and an number to keep track of length of the array.
clean up unused code
Add an option to ignore checking for uniqueness of solution.
Can be 10% to 100% faster(for very difficult puzzles)