В силу того, что , для решения задачи достаточно найти по первым уравнениям системы. Если рассматривать только эти уравнения, задача принимает вид
(3)
Матрица данной системы уравнений является нижнетреугольной и тёплицевой, составленной из старших коэффициентов и нулей, а решение системы эквивалентно нахождению обратной к ней[2].
Пусть и — многочлены, полученные из и разворотом последовательности коэффициентов. Систему уравнений (3) можно сформулировать как
где , а означает, что остатки от деления многочленов и на равны. Деление многочлена на может быть представлено как , поэтому остаток равен многочлену, полученному из первых коэффициентов , то есть,
Если многочлены и известны, то , где — обратный к многочлен в кольце остатков по модулю . Таким образом, поиск может быть сведён к нахождению , такого что
(4)
Данная постановка позволяет также находить обратную матрицу в системе (3):
Пусть — матрица размера из (3). Тогда — нижнетреугольная тёплицева матрица, первый столбец которой равен , где — коэффициенты из (4).
Доказательство
Система (3) эквивалентна уравнению . Соответственно, система
может быть представлена в виде , что в случае (4) эквивалентно системе (3).■
В силу произвольности многочлена , определяющего элементы , данный факт позволяет находить обратную к произвольной тёплицевой нижнетреугольной матрице[2].
Уравнение можно рассматривать не только по модулю , но и как равенство в кольце формальных степенных рядов. Пусть и — формальные степенные ряды, совпадающие с многочленами и . Если в таких терминах найти формальный ряд
(5)
то его коэффициенты при младших степенях будут соответствовать искомому многочлену . Такой подход также позволяет рассмотреть задачу (2) как систему с бесконечно продлённой тёплицевой матрицей и бесконечно продлённым столбцом , в которой исключён столбец остатков . Решение первых строк такой системы даст первые коэффициентов ряда , а именно . В то же время, работа со степенными рядами в целом, при которой интерес представляют только первые коэффициентов ряда (например, из-за ограниченности доступной памяти), эквивалентна работе с многочленами, операции над которыми производятся в кольце остатков по модулю [4]. В частности, поиск первых коэффициентов эквивалентен решению уравнения [2].
В ходе алгоритма, коэффициенты при старших степенях последовательно зануляются за счёт вычитания из него , умноженного на некоторую степень с коэффициентами, которые затем образуют частное . Изначально, коэффициент определяется равным . Если разложить , то
С помощью замены , данное уравнение приобретает вид
аналогичный уравнению (1). При этом -й коэффициент , по определению , равен , поэтому степень будет меньше, чем степень . Процедура повторяется, пока степень не станет меньше степени , что будет означать, что очередной равен и для него [3].
В 1972 году Мальте Зивекинг предложил алгоритм для поиска решения уравнения при заданных и [5]. В 1974 году Кон Сянчжун[англ.] показал, что при алгоритм представляет собой итерацию метода Ньютона для [6]. При таком подходе, итерация принимает вид
Где обозначает производную функции в точке . Для оценки точности алгоритма, можно оценить разность
из чего следует, что если делится на (что равносильно тому, что первые коэффициентов определены корректно), то будет делиться уже на . Таким образом, при начальном условии , каждая итерация удваивает число точно определённых коэффициентов . Поэтому для вычисления достаточно итераций. Применение быстрого преобразования Фурье к умножению многочленов в формуле выше позволяет прийти к итоговому времени работы , что существенно улучшает оценку для обычного длинного умножения[7].
Пусть и . В силу (4), необходимо найти . Обратный многочлен ищется следующим образом:
Начальное приближение определяется как ;
Первое приближение определяется как ;
Второе приближение определяется как .
В силу свойств метода Ньютона, первые коэффициента определены верно. Так как дальнейшие вычисления происходят по модулю , коэффициенты при более высоких степенях можно отбросить. Отсюда
Для оценки эффективности различных методов используется арифметическая схемная сложность[англ.] — суммарное количество операций сложения, умножения, вычитания и деления над полем комплексных чисел, которые необходимо произвести в ходе работы алгоритма. Также оценивается количество параллельных шагов, требуемых для многопроцессорной реализации алгоритма, в предположении, что каждый процессор на любом шаге может выполнять не более одной операции[7].
Каждая итерация алгоритма деления столбиком заключается в вычитании смещённого на некоторую величину из , что может быть выполнено за . Так как степень , изначально равная , уменьшается, пока она не станет меньше , общее время работы алгоритма можно оценить как , где [2].