HOME

TheInfoList



OR:

In mathematics, the greatest common divisor (GCD) of two or more
integer An integer is the number zero (), a positive natural number (, , , etc.) or a negative integer with a minus sign ( −1, −2, −3, etc.). The negative numbers are the additive inverses of the corresponding positive numbers. In the languag ...
s, which are not all zero, is the largest positive integer that
divides In mathematics, a divisor of an integer n, also called a factor of n, is an integer m that may be multiplied by some integer to produce n. In this case, one also says that n is a multiple of m. An integer n is divisible or evenly divisible by ...
each of the integers. For two integers ''x'', ''y'', the greatest common divisor of ''x'' and ''y'' is denoted \gcd (x,y). For example, the GCD of 8 and 12 is 4, that is, \gcd (8, 12) = 4. In the name "greatest common divisor", the adjective "greatest" may be replaced by "highest", and the word "divisor" may be replaced by "factor", so that other names include highest common factor (hcf), etc. Historically, other names for the same concept have included greatest common measure. This notion can be extended to polynomials (see Polynomial greatest common divisor) and other commutative rings (see below).


Overview


Definition

The ''greatest common divisor'' (GCD) of two nonzero
integer An integer is the number zero (), a positive natural number (, , , etc.) or a negative integer with a minus sign ( −1, −2, −3, etc.). The negative numbers are the additive inverses of the corresponding positive numbers. In the languag ...
s and is the greatest positive integer such that is a
divisor In mathematics, a divisor of an integer n, also called a factor of n, is an integer m that may be multiplied by some integer to produce n. In this case, one also says that n is a multiple of m. An integer n is divisible or evenly divisible by ...
of both and ; that is, there are integers and such that and , and is the largest such integer. The GCD of and is generally denoted . This definition also applies when one of and is zero. In this case, the GCD is the absolute value of the non zero integer: . This case is important as the terminating step of the Euclidean algorithm. The above definition cannot be used for defining , since , and zero thus has no greatest divisor. However, zero is its own greatest divisor if ''greatest'' is understood in the context of the divisibility relation, so is commonly defined as 0. This preserves the usual identities for GCD, and in particular Bézout's identity, namely that generates the same ideal as . This convention is followed by many
computer algebra system A computer algebra system (CAS) or symbolic algebra system (SAS) is any mathematical software with the ability to manipulate mathematical expressions in a way similar to the traditional manual computations of mathematicians and scientists. The d ...
s. Nonetheless, some authors leave undefined. The GCD of and is their greatest positive common divisor in the preorder relation of
divisibility In mathematics, a divisor of an integer n, also called a factor of n, is an integer m that may be multiplied by some integer to produce n. In this case, one also says that n is a multiple of m. An integer n is divisible or evenly divisible by ...
. This means that the common divisors of and are exactly the divisors of their GCD. This is commonly proved by using either
Euclid's lemma In algebra and number theory, Euclid's lemma is a lemma that captures a fundamental property of prime numbers, namely: For example, if , , , then , and since this is divisible by 19, the lemma implies that one or both of 133 or 143 must be as we ...
, the
fundamental theorem of arithmetic In mathematics, the fundamental theorem of arithmetic, also called the unique factorization theorem and prime factorization theorem, states that every integer greater than 1 can be represented uniquely as a product of prime numbers, up to the ord ...
, or the Euclidean algorithm. This is the meaning of "greatest" that is used for the generalizations of the concept of GCD.


Example

The number 54 can be expressed as a product of two integers in several different ways: : 54 \times 1 = 27 \times 2 = 18 \times 3 = 9 \times 6. Thus the complete list of ''divisors'' of 54 is 1, 2, 3, 6, 9, 18, 27, 54. Similarly, the divisors of 24 are 1, 2, 3, 4, 6, 8, 12, 24. The numbers that these two lists have ''in common'' are the ''common divisors'' of 54 and 24, that is, : 1, 2, 3, 6. Of these, the greatest is 6, so it is the ''greatest common divisor'': : \gcd(54,24) = 6. Computing all divisors of the two numbers in this way is usually not efficient, especially for large numbers that have many divisors. Much more efficient methods are described in .


Coprime numbers

Two numbers are called relatively prime, or
coprime In mathematics, two integers and are coprime, relatively prime or mutually prime if the only positive integer that is a divisor of both of them is 1. Consequently, any prime number that divides does not divide , and vice versa. This is equivale ...
, if their greatest common divisor equals 1. For example, 9 and 28 are coprime.


A geometric view

For example, a 24-by-60 rectangular area can be divided into a grid of: 1-by-1 squares, 2-by-2 squares, 3-by-3 squares, 4-by-4 squares, 6-by-6 squares or 12-by-12 squares. Therefore, 12 is the greatest common divisor of 24 and 60. A 24-by-60 rectangular area can thus be divided into a grid of 12-by-12 squares, with two squares along one edge (24/12 = 2) and five squares along the other (60/12 = 5).


Applications


Reducing fractions

The greatest common divisor is useful for reducing fractions to the
lowest terms An irreducible fraction (or fraction in lowest terms, simplest form or reduced fraction) is a fraction in which the numerator and denominator are integers that have no other common divisors than 1 (and −1, when negative numbers are considered). I ...
. For example, gcd(42, 56) = 14, therefore, :\frac=\frac=\frac.


Least common multiple

The least common multiple of two integers that are not both zero can be computed from their greatest common divisor, by using the relation :\operatorname(a,b)=\frac.


Calculation


Using prime factorizations

Greatest common divisors can be computed by determining the prime factorizations of the two numbers and comparing factors. For example, to compute gcd(48, 180), we find the prime factorizations 48 = 24 · 31 and 180 = 22 · 32 · 51; the GCD is then 2min(4,2) · 3min(1,2) · 5min(0,1) = 22 · 31 · 50 = 12, as shown in the
Venn diagram A Venn diagram is a widely used diagram style that shows the logical relation between sets, popularized by John Venn (1834–1923) in the 1880s. The diagrams are used to teach elementary set theory, and to illustrate simple set relationships ...
. The corresponding LCM is then 2max(4,2) · 3max(1,2) · 5max(0,1) = 24 · 32 · 51 = 720. : In practice, this method is only feasible for small numbers, as computing prime factorizations takes too long.


Euclid's algorithm

The method introduced by
Euclid Euclid (; grc-gre, Εὐκλείδης; BC) was an ancient Greek mathematician active as a geometer and logician. Considered the "father of geometry", he is chiefly known for the '' Elements'' treatise, which established the foundations of ...
for computing greatest common divisors is based on the fact that, given two positive integers and such that , the common divisors of and are the same as the common divisors of and . So, Euclid's method for computing the greatest common divisor of two positive integers consists of replacing the larger number by the difference of the numbers, and repeating this until the two numbers are equal: that is their greatest common divisor. For example, to compute , one proceeds as follows: :\begin\gcd(48,18)\quad&\to\quad \gcd(48-18, 18)= \gcd(30,18)&&\to \quad \gcd(30-18, 18)= \gcd(12,18)\\ &\to \quad \gcd(12,18-12)= \gcd(12,6)&&\to \quad \gcd(12-6,6)= \gcd(6,6).\end So . This method can be very slow if one number is much larger than the other. So, the variant that follows is generally preferred.


Euclidean algorithm

A more efficient method is the ''Euclidean algorithm'', a variant in which the difference of the two numbers and is replaced by the ''remainder'' of the
Euclidean division In arithmetic, Euclidean division – or division with remainder – is the process of dividing one integer (the dividend) by another (the divisor), in a way that produces an integer quotient and a natural number remainder strictly smaller than ...
(also called ''division with remainder'') of by . Denoting this remainder as , the algorithm replaces by repeatedly until the pair is , where is the greatest common divisor. For example, to compute gcd(48,18), the computation is as follows: :\begin\gcd(48,18)\quad&\to\quad \gcd(18, 48\bmod 18)= \gcd(18, 12)\\ &\to \quad \gcd(12, 18\bmod 12)= \gcd(12,6)\\ &\to \quad \gcd(6,12\bmod 6)= \gcd(6,0).\end This again gives .


Lehmer's GCD algorithm

Lehmer's algorithm is based on the observation that the initial quotients produced by Euclid's algorithm can be determined based on only the first few digits; this is useful for numbers that are larger than a computer word. In essence, one extracts initial digits, typically forming one or two computer words, and runs Euclid's algorithms on these smaller numbers, as long as it is guaranteed that the quotients are the same with those that would be obtained with the original numbers. The quotients are collected into a small 2-by-2 transformation matrix (a matrix of single-word integers) to reduce the original numbers. This process is repeated until numbers are small enough that the binary algorithm (see below) is more efficient. This algorithm improves speed, because it reduces the number of operations on very large numbers, and can use hardware arithmetic for most operations. In fact, most of the quotients are very small, so a fair number of steps of the Euclidean algorithm can be collected in a 2-by-2 matrix of single-word integers. When Lehmer's algorithm encounters a quotient that is too large, it must fall back to one iteration of Euclidean algorithm, with a
Euclidean division In arithmetic, Euclidean division – or division with remainder – is the process of dividing one integer (the dividend) by another (the divisor), in a way that produces an integer quotient and a natural number remainder strictly smaller than ...
of large numbers.


Binary GCD algorithm

The binary GCD algorithm uses only subtraction and division by 2. The method is as follows: Let ''a'' and ''b'' be the two non-negative integers. Let the integer ''d'' be 0. There are five possibilities: * ''a'' = ''b''. As gcd(''a'', ''a'') = ''a'', the desired GCD is ''a'' × 2''d'' (as ''a'' and ''b'' are changed in the other cases, and ''d'' records the number of times that ''a'' and ''b'' have been both divided by 2 in the next step, the GCD of the initial pair is the product of ''a'' and 2''d''). * Both ''a'' and ''b'' are even. Then 2 is a common divisor. Divide both ''a'' and ''b'' by 2, increment ''d'' by 1 to record the number of times 2 is a common divisor and continue. * ''a'' is even and ''b'' is odd. Then 2 is not a common divisor. Divide ''a'' by 2 and continue. * ''a'' is odd and ''b'' is even. Then 2 is not a common divisor. Divide ''b'' by 2 and continue. * Both ''a'' and ''b'' are odd. As gcd(''a'',''b'') = gcd(''b'',''a''), if ''a'' < ''b'' then exchange ''a'' and ''b''. The number ''c'' = ''a'' − ''b'' is positive and smaller than ''a''. Any number that divides ''a'' and ''b'' must also divide ''c'' so every common divisor of ''a'' and ''b'' is also a common divisor of ''b'' and ''c''. Similarly, ''a'' = ''b'' + ''c'' and every common divisor of ''b'' and ''c'' is also a common divisor of ''a'' and ''b''. So the two pairs (''a'', ''b'') and (''b'', ''c'') have the same common divisors, and thus gcd(''a'',''b'') = gcd(''b'',''c''). Moreover, as ''a'' and ''b'' are both odd, ''c'' is even, the process can be continued with the pair (''a'', ''b'') replaced by the smaller numbers (''c''/2, ''b'') without changing the GCD. Each of the above steps reduces at least one of ''a'' and ''b'' while leaving them non-negative and so can only be repeated a finite number of times. Thus eventually the process results in ''a'' = ''b'', the stopping case. Then the GCD is ''a'' × 2''d''. Example: (''a'', ''b'', ''d'') = (48, 18, 0) → (24, 9, 1) → (12, 9, 1) → (6, 9, 1) → (3, 9, 1) → (3, 3, 1) ; the original GCD is thus the product 6 of 2''d'' = 21 and ''a''= ''b''= 3. The binary GCD algorithm is particularly easy to implement on binary computers. Its computational complexity is :O((\log a + \log b)^2) The computational complexity is usually given in terms of the length of the input. Here, this length is n=\log a + \log b, and the complexity is thus :O(n^2).


Other methods

If ''a'' and ''b'' are both nonzero, the greatest common divisor of ''a'' and ''b'' can be computed by using
least common multiple In arithmetic and number theory, the least common multiple, lowest common multiple, or smallest common multiple of two integers ''a'' and ''b'', usually denoted by lcm(''a'', ''b''), is the smallest positive integer that is divisible by bo ...
(LCM) of ''a'' and ''b'': :\gcd(a,b)=\frac, but more commonly the LCM is computed from the GCD. Using Thomae's function ''f'', :\gcd(a,b) = a f\left(\frac b a\right), which generalizes to ''a'' and ''b''
rational number In mathematics, a rational number is a number that can be expressed as the quotient or fraction of two integers, a numerator and a non-zero denominator . For example, is a rational number, as is every integer (e.g. ). The set of all rat ...
s or commensurable real numbers. Keith Slavin has shown that for odd ''a'' ≥ 1: :\gcd(a,b)=\log_2\prod_^ (1+e^) which is a function that can be evaluated for complex ''b''. Wolfgang Schramm has shown that :\gcd(a,b)=\sum\limits_^a \exp (2\pi ikb/a) \cdot \sum\limits_ \frac is an
entire function In complex analysis, an entire function, also called an integral function, is a complex-valued function that is holomorphic on the whole complex plane. Typical examples of entire functions are polynomials and the exponential function, and any fin ...
in the variable ''b'' for all positive integers ''a'' where ''c''''d''(''k'') is Ramanujan's sum.


Complexity

The computational complexity of the computation of greatest common divisors has been widely studied. If one uses the Euclidean algorithm and the elementary algorithms for multiplication and division, the computation of the greatest common divisor of two integers of at most
bit The bit is the most basic unit of information in computing and digital communications. The name is a portmanteau of binary digit. The bit represents a logical state with one of two possible values. These values are most commonly represente ...
s is O(n^2). This means that the computation of greatest common divisor has, up to a constant factor, the same complexity as the multiplication. However, if a fast
multiplication algorithm A multiplication algorithm is an algorithm (or method) to multiply two numbers. Depending on the size of the numbers, different algorithms are more efficient than others. Efficient multiplication algorithms have existed since the advent of the d ...
is used, one may modify the Euclidean algorithm for improving the complexity, but the computation of a greatest common divisor becomes slower than the multiplication. More precisely, if the multiplication of two integers of bits takes a time of , then the fastest known algorithm for greatest common divisor has a complexity O\left(T(n)\log n\right). This implies that the fastest known algorithm has a complexity of O\left(n\,(\log n)^2\right). Previous complexities are valid for the usual
models of computation In computer science, and more specifically in computability theory and computational complexity theory, a model of computation is a model which describes how an output of a mathematical function is computed given an input. A model describes how ...
, specifically
multitape Turing machine A multi-tape Turing machine is a variant of the Turing machine that utilizes several tapes. Each tape has its own head for reading and writing. Initially, the input appears on tape 1, and the others start out blank. This model intuitively seems m ...
s and random-access machines. The computation of the greatest common divisors belongs thus to the class of problems solvable in quasilinear time. ''A fortiori'', the corresponding
decision problem In computability theory and computational complexity theory, a decision problem is a computational problem that can be posed as a yes–no question of the input values. An example of a decision problem is deciding by means of an algorithm wheth ...
belongs to the class P of problems solvable in polynomial time. The GCD problem is not known to be in NC, and so there is no known way to parallelize it efficiently; nor is it known to be
P-complete In computational complexity theory, a decision problem is P-complete (complete for the complexity class P) if it is in P and every problem in P can be reduced to it by an appropriate reduction. The notion of P-complete decision problems is usef ...
, which would imply that it is unlikely to be possible to efficiently parallelize GCD computation. Shallcross et al. showed that a related problem (EUGCD, determining the remainder sequence arising during the Euclidean algorithm) is NC-equivalent to the problem of
integer linear programming An integer programming problem is a mathematical optimization or feasibility program in which some or all of the variables are restricted to be integers. In many settings the term refers to integer linear programming (ILP), in which the objective ...
with two variables; if either problem is in NC or is P-complete, the other is as well. Since NC contains NL, it is also unknown whether a space-efficient algorithm for computing the GCD exists, even for nondeterministic Turing machines. Although the problem is not known to be in NC, parallel algorithms asymptotically faster than the Euclidean algorithm exist; the fastest known deterministic algorithm is by Chor and Goldreich, which (in the CRCW-PRAM model) can solve the problem in time with processors. Randomized algorithms can solve the problem in time on \exp\left(O\left(\sqrt\right)\right) processors (this is
superpolynomial In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by t ...
).


Properties

*Every common divisor of ''a'' and ''b'' is a divisor of . *, where ''a'' and ''b'' are not both zero, may be defined alternatively and equivalently as the smallest positive integer ''d'' which can be written in the form , where ''p'' and ''q'' are integers. This expression is called Bézout's identity. Numbers ''p'' and ''q'' like this can be computed with the extended Euclidean algorithm. *, for , since any number is a divisor of 0, and the greatest divisor of ''a'' is . This is usually used as the base case in the Euclidean algorithm. *If ''a'' divides the product ''b''⋅''c'', and , then ''a''/''d'' divides ''c''. *If ''m'' is a positive integer, then . *If ''m'' is any integer, then . Equivalently, . *If ''m'' is a positive common divisor of ''a'' and ''b'', then . *The GCD is a
commutative In mathematics, a binary operation is commutative if changing the order of the operands does not change the result. It is a fundamental property of many binary operations, and many mathematical proofs depend on it. Most familiar as the name of ...
function: . *The GCD is an associative function: . Thus can be used to denote the GCD of multiple arguments. *The GCD is a
multiplicative function In number theory, a multiplicative function is an arithmetic function ''f''(''n'') of a positive integer ''n'' with the property that ''f''(1) = 1 and f(ab) = f(a)f(b) whenever ''a'' and ''b'' are coprime. An arithmetic function ''f''(''n'') i ...
in the following sense: if ''a''1 and ''a''2 are relatively prime, then . * is closely related to the
least common multiple In arithmetic and number theory, the least common multiple, lowest common multiple, or smallest common multiple of two integers ''a'' and ''b'', usually denoted by lcm(''a'', ''b''), is the smallest positive integer that is divisible by bo ...
: we have *:. :This formula is often used to compute least common multiples: one first computes the GCD with Euclid's algorithm and then divides the product of the given numbers by their GCD. *The following versions of
distributivity In mathematics, the distributive property of binary operations generalizes the distributive law, which asserts that the equality x \cdot (y + z) = x \cdot y + x \cdot z is always true in elementary algebra. For example, in elementary arithmeti ...
hold true: *: *:. *If we have the unique prime factorizations of and where and , then the GCD of ''a'' and ''b'' is *:. *It is sometimes useful to define and because then the
natural number In mathematics, the natural numbers are those numbers used for counting (as in "there are ''six'' coins on the table") and ordering (as in "this is the ''third'' largest city in the country"). Numbers used for counting are called ''cardinal ...
s become a complete
distributive lattice In mathematics, a distributive lattice is a lattice in which the operations of join and meet distribute over each other. The prototypical examples of such structures are collections of sets for which the lattice operations can be given by set ...
with GCD as meet and LCM as join operation. This extension of the definition is also compatible with the generalization for commutative rings given below. *In a Cartesian coordinate system, can be interpreted as the number of segments between points with integral coordinates on the straight line segment joining the points and . *For non-negative integers ''a'' and ''b'', where ''a'' and ''b'' are not both zero, provable by considering the Euclidean algorithm in base ''n'': *:. * An identity involving Euler's totient function: *: \gcd(a,b) = \sum_ \varphi(k) . *\sum_^n \gcd(k,n)=n\prod_\left(1+\nu_p(n)\left(1-\frac\right)\right) where \nu_p(n) is the p-adic valuation.


Probabilities and expected value

In 1972, James E. Nymann showed that ''k'' integers, chosen independently and uniformly from , are coprime with probability 1/''ζ''(''k'') as ''n'' goes to infinity, where ''ζ'' refers to the Riemann zeta function. (See
coprime In mathematics, two integers and are coprime, relatively prime or mutually prime if the only positive integer that is a divisor of both of them is 1. Consequently, any prime number that divides does not divide , and vice versa. This is equivale ...
for a derivation.) This result was extended in 1987 to show that the probability that ''k'' random integers have greatest common divisor ''d'' is ''d''''−k''/ζ(''k''). Using this information, the expected value of the greatest common divisor function can be seen (informally) to not exist when ''k'' = 2. In this case the probability that the GCD equals ''d'' is ''d''−2/ζ(2), and since ζ(2) = π2/6 we have : \mathrm( \mathrm ) = \sum_^\infty d \frac = \frac \sum_^\infty \frac. This last summation is the harmonic series, which diverges. However, when ''k'' ≥ 3, the expected value is well-defined, and by the above argument, it is : \mathrm(k) = \sum_^\infty d^ \zeta(k)^ = \frac. For ''k'' = 3, this is approximately equal to 1.3684. For ''k'' = 4, it is approximately 1.1106.


In commutative rings

The notion of greatest common divisor can more generally be defined for elements of an arbitrary commutative ring, although in general there need not exist one for every pair of elements. If is a commutative ring, and and are in , then an element of is called a ''common divisor'' of and if it divides both and (that is, if there are elements and in such that ''d''·''x'' = ''a'' and ''d''·''y'' = ''b''). If is a common divisor of and , and every common divisor of and divides , then is called a ''greatest common divisor'' of and ''b''. With this definition, two elements and may very well have several greatest common divisors, or none at all. If is an
integral domain In mathematics, specifically abstract algebra, an integral domain is a nonzero commutative ring in which the product of any two nonzero elements is nonzero. Integral domains are generalizations of the ring of integers and provide a natural s ...
then any two GCD's of and must be associate elements, since by definition either one must divide the other; indeed if a GCD exists, any one of its associates is a GCD as well. Existence of a GCD is not assured in arbitrary integral domains. However, if is a
unique factorization domain In mathematics, a unique factorization domain (UFD) (also sometimes called a factorial ring following the terminology of Bourbaki) is a ring in which a statement analogous to the fundamental theorem of arithmetic holds. Specifically, a UFD is ...
, then any two elements have a GCD, and more generally this is true in GCD domains. If is a Euclidean domain in which euclidean division is given algorithmically (as is the case for instance when ''R'' = ''F'' 'X''where is a field, or when is the ring of
Gaussian integer In number theory, a Gaussian integer is a complex number whose real and imaginary parts are both integers. The Gaussian integers, with ordinary addition and multiplication of complex numbers, form an integral domain, usually written as \mathbf /ma ...
s), then greatest common divisors can be computed using a form of the Euclidean algorithm based on the division procedure. The following is an example of an integral domain with two elements that do not have a GCD: :R = \mathbb\left sqrt\,\,\right\quad a = 4 = 2\cdot 2 = \left(1+\sqrt\,\,\right)\left(1-\sqrt\,\,\right),\quad b = \left(1+\sqrt\,\,\right)\cdot 2. The elements 2 and 1 +  are two maximal common divisors (that is, any common divisor which is a multiple of 2 is associated to 2, the same holds for 1 + , but they are not associated, so there is no greatest common divisor of and ''b''. Corresponding to the Bézout property we may, in any commutative ring, consider the collection of elements of the form ''pa'' + ''qb'', where and range over the ring. This is the ideal generated by and , and is denoted simply (''a'', ''b''). In a ring all of whose ideals are principal (a principal ideal domain or PID), this ideal will be identical with the set of multiples of some ring element ''d''; then this is a greatest common divisor of and ''b''. But the ideal (''a'', ''b'') can be useful even when there is no greatest common divisor of and ''b''. (Indeed,
Ernst Kummer Ernst Eduard Kummer (29 January 1810 – 14 May 1893) was a German mathematician A mathematician is someone who uses an extensive knowledge of mathematics in their work, typically to solve mathematical problems. Mathematicians are concerned ...
used this ideal as a replacement for a GCD in his treatment of
Fermat's Last Theorem In number theory, Fermat's Last Theorem (sometimes called Fermat's conjecture, especially in older texts) states that no three positive integers , , and satisfy the equation for any integer value of greater than 2. The cases and have been ...
, although he envisioned it as the set of multiples of some hypothetical, or ''ideal'', ring element , whence the ring-theoretic term.)


See also

*
Bézout domain In mathematics, a Bézout domain is a form of a Prüfer domain. It is an integral domain in which the sum of two principal ideals is again a principal ideal. This means that for every pair of elements a Bézout identity holds, and that every fini ...
*
Lowest common denominator In mathematics, the lowest common denominator or least common denominator (abbreviated LCD) is the lowest common multiple of the denominators of a set of fractions. It simplifies adding, subtracting, and comparing fractions. Description The low ...
*
Unitary divisor In mathematics, a natural number ''a'' is a unitary divisor (or Hall divisor) of a number ''b'' if ''a'' is a divisor of ''b'' and if ''a'' and \frac are coprime, having no common factor other than 1. Thus, 5 is a unitary divisor of 60, because 5 an ...


Notes


References

* * * *


Further reading

*
Donald Knuth Donald Ervin Knuth ( ; born January 10, 1938) is an American computer scientist, mathematician, and professor emeritus at Stanford University. He is the 1974 recipient of the ACM Turing Award, informally considered the Nobel Prize of computer sc ...
. ''
The Art of Computer Programming ''The Art of Computer Programming'' (''TAOCP'') is a comprehensive monograph written by the computer scientist Donald Knuth presenting programming algorithms and their analysis. Volumes 1–5 are intended to represent the central core of com ...
'', Volume 2: ''Seminumerical Algorithms'', Third Edition. Addison-Wesley, 1997. . Section 4.5.2: The Greatest Common Divisor, pp. 333–356. * Thomas H. Cormen,
Charles E. Leiserson Charles Eric Leiserson is a computer scientist, specializing in the theory of parallel computing and distributed computing, and particularly practical applications thereof. As part of this effort, he developed the Cilk multithreaded language. ...
,
Ronald L. Rivest Ronald Linn Rivest (; born May 6, 1947) is a cryptographer and an Institute Professor at MIT. He is a member of MIT's Department of Electrical Engineering and Computer Science (EECS) and a member of MIT's Computer Science and Artificial Inte ...
, and
Clifford Stein Clifford Seth Stein (born December 14, 1965), a computer scientist, is a professor of industrial engineering and operations research at Columbia University in New York, NY, where he also holds an appointment in the Department of Computer Scien ...
. ''
Introduction to Algorithms ''Introduction to Algorithms'' is a book on computer programming by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. The book has been widely used as the textbook for algorithms courses at many universities and is ...
'', Second Edition. MIT Press and McGraw-Hill, 2001. . Section 31.2: Greatest common divisor, pp. 856–862. *
Saunders Mac Lane Saunders Mac Lane (4 August 1909 – 14 April 2005) was an American mathematician who co-founded category theory with Samuel Eilenberg. Early life and education Mac Lane was born in Norwich, Connecticut, near where his family lived in Taftville ...
and
Garrett Birkhoff Garrett Birkhoff (January 19, 1911 – November 22, 1996) was an American mathematician. He is best known for his work in lattice theory. The mathematician George Birkhoff (1884–1944) was his father. Life The son of the mathematician Ge ...
. ''A Survey of Modern Algebra'', Fourth Edition. MacMillan Publishing Co., 1977. . 1–7: "The Euclidean Algorithm." {{Number-theoretic algorithms Multiplicative functions Articles containing video clips