А доказательство одного решения не является отрицанием другого возможного решения.в этой задаче один ответ - число. И если вы доказали, что оно равно чему-то, то любое "решение", дающее другой ответ - автоматически неправильное. Ну или у вас ошибка в доказательстве первого решения, но тут не этот случай.
А потом надо начать с конца и делать v = path[v], пока не придете в начало.