Автоматический решатель и составитель головоломок
Решатель использует алгоритм обратного поиска с возвратом (backtracking) в сочетании с эвристикой наименьшего числа возможных значений (MRV) — выбирается клетка с самым малым количеством кандидатов, что значительно ускоряет поиск.
Генератор строит полное решение случайным заполнением по диагональным блокам с последующим дополнением решателем, а затем убирает клетки симметрично, проверяя единственность решения.
Цель — заполнить сетку 9×9 цифрами от 1 до 9 так, чтобы в каждой строке, каждом столбце и каждом блоке 3×3 любая цифра встречалась ровно один раз.