Greatest common divisor

Greatest common divisor

In mathematics, the greatest common divisor (gcd), also known as the greatest common factor (gcf), or highest common factor (hcf), of two or more non-zero integers, is the largest positive integer that divides the numbers without a remainder. For example, the GCD of 8 and 12 is 4.

This notion can be extended to polynomials, see greatest common divisor of two polynomials.




The number 54 can be expressed as a product of two other integers in several different ways:

 54 \times 1 = 27 \times 2 = 18 \times 3 = 9 \times 6. \,

Thus the divisors of 54 are:

 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 share in common are the common divisors of 54 and 24:

 1, 2, 3, 6. \,

The greatest of these is 6. That is the greatest common divisor of 54 and 24. One writes:

 \gcd(54,24) = 6. \,

Reducing fractions

The greatest common divisor is useful for reducing fractions to be in lowest terms. For example, gcd(42, 56) = 14, therefore,

{42 \over 56}={3 \cdot 14 \over 4 \cdot 14}={3 \over 4}.

The greatest common divisor of a and b is written as gcd(ab), or sometimes simply as (ab). For example, gcd(12, 18) = 6, gcd(−4, 14) = 2. Two numbers are called relatively prime, or coprime if their greatest common divisor equals 1. For example, 9 and 28 are relatively prime.

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 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).

"Tall, slender rectangle divided into a grid of squares. The rectangle is two squares wide and five squares tall."
A 24-by-60 rectangle is covered with ten 12-by-12 square tiles, where 12 is the GCD of 24 and 60. More generally, an a-by-b rectangle can be covered with square tiles of side-length c only if c is a common divisor of a and b.


Using prime factorizations

Greatest common divisors can in principle be computed by determining the prime factorizations of the two numbers and comparing factors, as in the following example: to compute gcd(18, 84), we find the prime factorizations 18 = 2 · 32 and 84 = 22 · 3 · 7 and notice that the "overlap" of the two expressions is 2 · 3; so gcd(18, 84) = 6. In practice, this method is only feasible for small numbers; computing prime factorizations in general takes far too long.

Here is another concrete example, illustrated by a Venn diagram. Suppose it is desired to find the greatest common divisor of 48 and 180. First, find the prime factorizations of the two numbers:

48 = 2 × 2 × 2 × 2 × 3,
180 = 2 × 2 × 3 × 3 × 5.

What they share in common is two "2"s and a "3":

Least common multiple.svg
Least common multiple = 2 × 2 × 2 × 2 × 3 × 3 × 5 = 720
Greatest common divisor = 2 × 2 × 3 = 12.

Using Euclid's algorithm

A much more efficient method is the Euclidean algorithm, which uses the division algorithm in combination with the observation that the gcd of two numbers also divides their difference. To compute gcd(48,18), divide 48 by 18 to get a quotient of 2 and a remainder of 12. Then divide 18 by 12 to get a quotient of 1 and a remainder of 6. Then divide 12 by 6 to get a remainder of 0, which means that 6 is the gcd. Note that we ignored the quotient in each step except to notice when it reached 0, signalling that we had arrived at the answer. Formally the algorithm can be described as:

gcd(a,0) = a
\gcd(a,b) = \gcd(b,a - b \left\lfloor {a \over b} \right\rfloor).

Which also could be written as

gcd(a,0) = a
gcd(a,b) = gcd(b,a mod b).

Other methods

If a and b are not both zero, the greatest common divisor of a and b can be computed by using least common multiple (lcm) of a and b:

\gcd(a,b)=\frac{a\cdot b}{\operatorname{lcm}(a,b)}.

Keith Slavin has shown that for odd a ≥ 1:

\gcd(a,b)=\log_2\prod_{k=0}^{a-1} (1+e^{-2i\pi k b/a})

which is a function that can be evaluated for complex b.[1] Wolfgang Schramm has shown that

\gcd(a,b)=\sum\limits_{k=1}^a \exp (2\pi ikb/a) \cdot \sum\limits_{d\left| a\right.} \frac{c_d (k)}{d}

is an entire function in the variable b for all positive integers a where cd(k) is Ramanujan's sum.[2] Marcelo Polezzi has shown that:

\gcd(a,b)=2\sum_{k=1}^{a-1} \lfloor k b/a\rfloor+a+b-a b

for positive integers a and b.[3] Donald Knuth proved the following reduction:

gcd(2a − 1,2b − 1) = 2gcd(a,b) − 1

for non-negative integers a and b, where a and b are not both zero.[4] More generally

\gcd(n^a-1,n^b-1)=n^{\gcd(a,b)}-1 \,

which can easily be proven by considering the Euclidean algorithm in base n.


The existence of the Euclidean algorithm places (the decision problem version of) the greatest common divisor problem in P, the class 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 its computation across many processors; nor is it known to be P-complete, which would imply that it is unlikely to be possible to parallelize GCD computation. In this sense the GCD problem is analogous to e.g. the integer factorization problem, which has no known polynomial-time algorithm, but is not known to be NP-complete. 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 with two variables; if either problem is in NC or is P-complete, the other is as well.[5] 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 with time superior to the Euclidean algorithm exist; the best known deterministic algorithm is by Chor and Goldreich, which (in the CRCW-PRAM model) can solve the problem in O(n/log n) time with n1+ε processors.[6] Randomized algorithms can solve the problem in O((log n)2) time on \exp\left[O\left(\sqrt{n \log n}\right)\right] processors (note this is superpolynomial).[7]


  • Every common divisor of a and b is a divisor of gcd(ab).
  • gcd(ab), 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 d = a·p + b·q 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.
  • gcd(a, 0) = |a|, for a ≠ 0, since any number is a divisor of 0, and the greatest divisor of a is |a|. This is usually used as the base case in the Euclidean algorithm.
  • If a divides the product b·c, and gcd(ab) = d, then a/d divides c.
  • If m is a non-negative integer, then gcd(m·am·b) = m·gcd(ab).
  • If m is any integer, then gcd(a + m·bb) = gcd(ab).
  • If m is a nonzero common divisor of a and b, then gcd(a/mb/m) = gcd(ab)/m.
  • The gcd is a multiplicative function in the following sense: if a1 and a2 are relatively prime, then gcd(a1·a2b) = gcd(a1b)·gcd(a2b).
  • The gcd is a commutative function: gcd(a, b) = gcd(b, a).
  • The gcd is an associative function: gcd(a, gcd(b, c)) = gcd(gcd(a, b), c).
  • The gcd of three numbers can be computed as gcd(abc) = gcd(gcd(ab), c), or in some different way by applying commutativity and associativity. This can be extended to any number of numbers.
  • gcd(ab) is closely related to the least common multiple lcm(ab): we have
gcd(ab)·lcm(ab) = a·b.
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.
gcd(a, lcm(bc)) = lcm(gcd(ab), gcd(ac))
lcm(a, gcd(bc)) = gcd(lcm(ab), lcm(ac)).
  • It is useful to define gcd(0, 0) = 0 and lcm(0, 0) = 0 because then the natural numbers become a complete distributive lattice 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, gcd(ab) can be interpreted as the number of points with integral coordinates on the straight line joining the points (0, 0) and (ab), excluding (0, 0).

Probabilities and expected value

In 1972, James E. Nymann showed that the probability that k independently chosen integers are coprime is 1/ζ(k).[8] (See coprime for a derivation.) This result was extended in 1987 to show that the probability that k random integers has greatest common divisor d is d-k/ζ(k).[9]

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{E}( \mathrm{2} ) = \sum_{d=1}^\infty d \frac{6}{\pi^2 d^2} = \frac{6}{\pi^2} \sum_{d=1}^\infty \frac{1}{d}.

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{E}(k) = \sum_{d=1}^\infty d^{1-k} \zeta(k)^{-1} = \frac{\zeta(k-1)}{\zeta(k)}.

For k = 3, this is approximately equal to 1.3684. For k = 4, it is approximately 1.1106.

The gcd 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 R is a commutative ring, and a and b are in R, then an element d of R is called a common divisor of a and b if it divides both a and b (that is, if there are elements x and y in R such that d·x = a and d·y = b). If d is a common divisor of a and b, and every common divisor of a and b divides d, then d is called a greatest common divisor of a and b.

Note that with this definition, two elements a and b may very well have several greatest common divisors, or none at all. If R is an integral domain then any two gcd's of a and b 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 R is a unique factorization domain, then any two elements have a gcd, and more generally this is true in gcd domains. If R is a Euclidean domain in which euclidean division is given algorithmically (as is the case for instance when R = F[X] where F is a field, or when R is the ring of Gaussian integers), 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{Z}\left[\sqrt{-3}\,\,\right],\quad a = 4 = 2\cdot 2 = \left(1+\sqrt{-3}\,\,\right)\left(1-\sqrt{-3}\,\,\right),\quad b = \left(1+\sqrt{-3}\,\,\right)\cdot 2.

The elements 2 and 1 + √(−3) are two "maximal common divisors" (i.e. any common divisor which is a multiple of 2 is associated to 2, the same holds for 1 + √(−3)), but they are not associated, so there is no greatest common divisor of a and b.

Corresponding to the Bezout property we may, in any commutative ring, consider the collection of elements of the form pa + qb, where p and q range over the ring. This is the ideal generated by a and b, and is denoted simply (ab). 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 d is a greatest common divisor of a and b. But the ideal (ab) can be useful even when there is no greatest common divisor of a and b. (Indeed, Ernst Kummer used this ideal as a replacement for a gcd in his treatment of Fermat's Last Theorem, although he envisioned it as the set of multiples of some hypothetical, or ideal, ring element d, whence the ring-theoretic term.)

See also


  1. ^ Slavin, Keith R. (2008). "Q-Binomials and the Greatest Common Divisor". Integers Electronic Journal of Combinatorial Number Theory (University of West Georgia, Charles University in Prague) 8: A5. Retrieved 2008-05-26. 
  2. ^ Schramm, Wolfgang (2008). "The Fourier transform of functions of the greatest common divisor". Integers Electronic Journal of Combinatorial Number Theory (University of West Georgia, Charles University in Prague) 8: A50. Retrieved 2008-11-25. 
  3. ^ Polezzi, Marcelo (1997). "A Geometrical Method for Finding an Explicit Formula for the Greatest Common Divisor". Amer. Math. Monthly (Mathematical Association of America) 104 (5): 445–446. doi:10.2307/2974739. JSTOR 2974739. 
  4. ^ Knuth, Donald E.; R. L. Graham, O. Patashnik (March 1994). Concrete Mathematics: A Foundation for Computer Science. Addison-Wesley. ISBN 0-201-55802-5. 
  5. ^ Shallcross, D.; Pan, V.; Lin-Kriz, Y. (1993). "The NC equivalence of planar integer linear programming and Euclidean GCD". 34th IEEE Symp. Foundations of Computer Science. pp. 557–564. 
  6. ^ Chor, B.; Goldreich, O. (1990). "An improved parallel algorithm for integer GCD". Algorithmica 5 (1–4): 1–10. doi:10.1007/BF01840374. 
  7. ^ Adleman, L. M.; Kompella, K. (1988). "Using smoothness to achieve parallelism". 20th Annual ACM Symposium on Theory of Computing. New York. pp. 528–538. doi:10.1145/62212.62264. ISBN 0-89791-264-0. 
  8. ^ Nymann, J. E. (1972). "On the probability that k positive integers are relatively prime". Journal of Number Theory 4 (5): 469–473. doi:10.1016/0022-314X(72)90038-8. 
  9. ^ Chidambaraswamy, J.; Sitarmachandrarao, R. (1987). "On the probability that the values of m polynomials have a given g.c.d.". Journal of Number Theory 26 (3): 237–245. doi:10.1016/0022-314X(87)90081-3. 

Further reading

External links

Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • greatest common divisor — n. the number or quantity that is the largest common factor of a given set of numbers or quantities [12 is the greatest common divisor of 48, 60, and 96]: also greatest common factor …   English World dictionary

  • greatest common divisor — noun The greatest common divisor of a set is the largest positive integer or polynomial that divides each of the numbers in the set without remainder. Syn: greatest common factor, highest common factor …   Wiktionary

  • Greatest common divisor of two polynomials — Informally, the greatest common divisor (GCD) of two polynomials p ( x ) and q ( x ) is the biggest polynomial that divides evenly into both p ( x ) and q ( x ). The definition is modeled on the concept of the greatest common divisor of two… …   Wikipedia

  • greatest common divisor — noun the largest integer that divides without remainder into a set of integers • Syn: ↑greatest common factor, ↑highest common factor • Hypernyms: ↑common divisor, ↑common factor, ↑common measure * * * noun …   Useful english dictionary

  • greatest common divisor — the largest number that is a common divisor of a given set of numbers. Abbr.: G.C.D. Also called greatest common factor, highest common factor. [1920 25] * * * …   Universalium

  • greatest common divisor — noun Date: 1851 the largest integer or the polynomial of highest degree that is an exact divisor of each of two or more integers or polynomials called also greatest common factor …   New Collegiate Dictionary

  • greatest common divisor — great′est com′mon divi′sor n. math. the largest number that is a common divisor of a given set of numbers Abbr.: G.C.D. Also called great′est com′mon fac′tor …   From formal English to slang

  • greatest common divisor — noun See common factor …  

  • greatest common divisor — n. largest number that divides in an even manner into each of a given set of numbers (Mathematics) …   English contemporary dictionary

  • common divisor — noun an integer that divides two (or more) other integers evenly • Syn: ↑common factor, ↑common measure • Hypernyms: ↑divisor, ↑factor • Hyponyms: ↑greatest common divisor, ↑ …   Useful english dictionary

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”