 
Summary: CS 681: Computational Number Theory and Algebra
Lecture 4: Arithmetic over Z:Division
Lecturer: Manindra Agrawal Notes by: Barna Saha
August 11, 2006.
1 Introduction
Given two nbit numbers a and b, we know addition, that is computing a + b takes O(n)
time. If we want to multiply a and b, the naive algorithm will take O(n2) time. However the
time complexity of multiplying 2, n bit numbers can be brought down to O(n log n log log n).
It is easy to see, that we can perform division of a by b, that is compute a
b , in O(n2) time.
Since computing a
b is nothing but multiplying a by reciprocal of b, the natural question
arises, whether it is possible to achieve the same time complexity for division as that of
multiplication. In this lecture, we try to find out an answer for this. ¿From here on, we
denote the time complexity of multiplying two n bit numbers by M(n).
2 Newton Approximation/ Iteration & Division
2.1 Newton Approximation/Iteration
Newton Approximation/Iteration method is used to compute approximate root of any func
tion f(x) iteratively. It starts from an arbitrary point x0 and on each iteration it calculates
a new valuea new approximation of the root, based on the value computed at the previous
