最初はバックトラックなしの全数検査でもいいと思いますよ。 このメリットは「単純なので実装もデバッグも簡単」という点です。 遅いのは遅いですが、4x4 までなら実用的な時間で全数検査できると思います。 正解のわからない問題を解く時は、まずはバグなく動くコードを書くのが大切で、それを使って正解を書き出してしまいます。 一度正解を入手できたなら、高速化に挑戦した時にその出力が正しいかどうか判断できます。そうでないと「結果が出たけど、正しいかどうかわからない」という事になりかねません。 わからないことがあったら何でも聞いてください。「解をどう表現するか?」とか。可能な範囲でお答えします。がんばってね!!