Код, по-видимому, хранит каждую последовательность в другой строке матрицы. Количество столбцов этой матрицы будет равно длине самой длинной найденной последовательности. Это означает, что последовательность из двух чисел будет дополнена кучей правых нулей.
Я уверен, вы видите, как это невероятно неэффективно. Это может быть целью упражнения, или это будет для вас в этой реализации.
Лучше сохранить переменную типа «Семя самого длинного найденного раствора», которая будет хранить семя для самого длинного раствора. Я также хотел бы сохранить «длину самого длинного найденного решения», чтобы сохранить длину. Если вы попробуете каждое новое начальное число, если оно получит заголовок самого длинного, обновите эти переменные.
Это сохранит в памяти только то, что вам нужно.