The algorithm works in two phases: the "data collection" phase, where it collects information that may lead to a congruence of squares; and the "data processing" phase, where it puts all the data it has collected into a matrix and solves it to obtain a congruence of squares.
Алгоритм работает в два этапа: этап сбора данных, где он собирает информацию, которая может привести к равенству квадратов; и этап обработки данных, где он помещает всю собранную информацию в матрицу и обрабатывает ее для получения равенства квадратов.