Проблема в том, что используемый вами подход не может решить 8x8 или выше в любое разумное время.Ваш код в порядке, но есть 4e51 возможных ходов, поэтому вашей программе потребуется фантастическое количество времени, чтобы найти тур.
В вашей программе число итераций следующее:
5x5= 74,301
6x6 = 2,511,583
7x7 = 136,328
Для 8x8 ваша программа должна выполнить до:
3,926,356,053,343,005,839,641,342,729,101,072,025,101,072,875.