A simple Sudoku Solver which uses Backtracking. This one does something
slightly smarter than a naive brute-force backtracker : it tries to look
for solutions where there are fewer options it can try out first. This
helps it get more solutions correct initially and consequently solve
the Sudoku faster.