Fast Sudoku solver in Python

AC-3, depth-first search and backtracking with Min-Remaining Value and forward checking.