Sudoku Solving Algorithm that also gives difficulty level etc.