If I remember correctly, not all sudokus can be solved using your `easy-points` heuristic. A full backtracking search would try placing every possible value to an empty cell.