世界一難しい数独を解くJavaScript

数学者が作った世界一難しい数独がこちらに掲載されています。
http://headlines.yahoo.co.jp/hl?a=20100824-00000018-zdn_g-ent

世界一難しい数独があるという話を聞いて、素手で解いてみました。


・・・無理です。

すべすべの壁を登れといってるようなものです。


しかし、自分にはプログラミングがある!
やつなら、なんとか解けるに違いない!

ということで書いてみました。
http://jsdo.it/shinout/sudoku/fullscreen


何をしているか、なんですが、
結局は

各マスの候補となるものを取得する
各ルール(縦、横、箱)のなかで候補の数が一つだけの数字を検出して代入
各ルール(縦、横、箱)のなかで候補の数が2、3つだけの数字を検出してヒントに使う
膠着状態になったら、2択の部分を決めちゃって、エラーが起きたらもう片方を選択。


これをやってるだけです。

2択の部分を決めちゃうのは、はっきり言ってルール違反なんですが、
さっさと答えが知りたかったんです。


論理だけで解けるというやり方があったら、教えてほしいです!