My Python Sudoku solver works fine with easy Sudoku problems and it does not work for hard Sudoku problems. I checked Peter Novig's python solver code
http://norvig.com/sudoku.html and I used his notation for the Sudoku board. Please check the link below and help me to improve this code to work with hard Sudoku puzzles.
https://gist.github.com/iamsome1/c1c5550180bdd5aa689a