How To Solve Difficult Sudoku