Я довольно легко представляю как это работает с многоленточной машиной - там просто перемножаем (возводим в квадрат) все натуральные числа по очереди, пока длинна ввода не совпадет или не станет меньше. Но с одноленточной машиной не пойму как это провернуть?
А разница? Смоделируйте на одноленточной машине многоленточную. Например, справа от ввода полно свободного места; возводите числа в квадрат там, а затем ходите влево и сравнивайте.
maxal показал очень хороший способ последовательного получения квадратов.