Лыжи не едут (математическо-программистское)

В свободное от работы рабочее время решил немного порисовать всякое алгоритмическое. В частности, программу для решения задачек "Судоку". Чтобы мозги не ржавели.

По сути своей это алгоритм поиска по графу, и обычно такие задачи хорошо решаются рекурсивным программированием. Забрёл по графу куда-то не туда, заканчиваешь работу и возвращаешься назад в вызов функции. Немного поколупался с типичными ошибками на единицу, но вроде нарисовал.

А вот проверить правильность работы программы пока не получилось =)

Запускаю. Уже 30 минут комп работает как бешеный, а решения нет. Я-то думал, что у Судоку 9! + 8! + .. + 2! + 1 ~ 400 000 решений. А потом гляжу в педивикию и вижу, что у Судоку на самом деле 6.67×1021 решений (круто я лоханулся, на 16 порядков!). Вернее, для задачки с 17+ подсказками решение-то одно, но выбирать его приходится из 6.67×1021 вариантов. В секунду моя програмка на Питоне перебирает около 2 000 вариантов, следовательно, осталось ещё примерно 105 миллиардов лет :))))

При этом вроде как брутфорсным поиском по графу задача, если верить Педивикии, решается. Интересно, не то ли я мало ждал, не то программа у меня кривая, не то инструмент надо немного другой брать -- голый Си, например.

Смотря что значит решается. В некотором смысле она и у тебя решается :)

Решилось, наконец, да -- за 13 часов =))))

Как-то некузяво -- руками можно быстрее решить.