Techniques To Solve Hard Sudoku