ソルバーは基本的に 1. 未確認の解を一つ作り、「確認済み」とする 2. その解は条件を満たすか? 2-1. yes なら解を出力して終了 2-2. no なら 1 へ という流れになります。 ただこれだと、全数検査することになり、現実的な時間では解けないことが多いから、検査する数を減らす工夫が必要になります。 よくあるのは「バックトラッキング」という手法で 「step 1 で、構成途中の解についても条件判断を行い、満たさなかったら一つ手を戻して、次の手を試す」 というものです。 はっちんさんがその手法で数独ソルバーを作ってました。 https://miiverse.nintendo.net/posts/AYMHAAADAAB2V0fA8NRduw