Mr. Brooks's Sudoku Solvers

Naive Look for the next open cell (linearly), find and place the next non-conflicting guess, then go on, backtrack when there are no valid guesses for a cell
Smarter-1 Same as Naive, but after filling a cell with a guess, find and fill all cells that have forced answers because of the guess just applied.  Continue to find forced cells until no more can be found.  Then go to next open cell
Smarter-2 Instead of the next open cell, find one that has the smallest number of guesses.  After placing a guess in a Cell, remove that guess from all open cells in the neighborhood of the Cell.  That may force some neighbors.  For each neighbor forced, remove its guess from all of its neighbors, etc.  Continue until no more changes.

 

  Naive Smarter-1 Smarter-2
A1 time = 0.029 secs,  backtracks=126 t=0.025, b=0, ratio (Naive/Smarter-1) = ∞ t=0.008, b=0, r=∞
A2 t=0.46, b=15,504 t=0.10, b=209, r=74 t=0.01, b=26, r=596
A3 t=0.28, b=6,395 t=0.032, b=54, r=118 t=0.012, b=28, r=228
A4 t=0.67, b=21,557 t=0.091, b=477, r=45 t=0.008, b=7, r=3,079
A5 t=0.16, b=4,001 t=0.046, b=0, r=∞ t=0.004, b=0, r=∞
A6 t=0.77, b=28,337 t=0.159, b=798, r=35 t=0.253, b=922, r=30
A7 t=37.6, b=1,264,194 t=5.0, b=63,251, r=20 t=0.442, b=1,919, r=658
A8 t=262, b=10,445,922 t=28.2, b=294,597, r=35 t=0.653, b=3,140, r=3326