Замечу только, что у Вашего метода есть существенный недостаток: необходимо вводить условие задачи самому. А это значит, что неизбежны ошибки: пропустил цифру, не ту цифру поставил, не в той клетке, а в соседней. Даже самая тщательная проверка ввода начальной позиции не гарантирует 100%.