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 the absolute value of the divisor. A fundamental property is that the quotient and the remainder exist and are unique, under some conditions. Because of this uniqueness, *Euclidean division* is often considered without referring to any method of computation, and without explicitly computing the quotient and the remainder. The methods of computation are called integer division algorithms, the best known of which being long division.

Euclidean division, and algorithms to compute it, are fundamental for many questions concerning integers, such as the Euclidean algorithm for finding the greatest common divisor of two integers,^{[1]} and modular arithmetic, for which only remainders are considered.^{[2]} The operation consisting of computing only the remainder is called the *modulo operation*,^{[3]} and is used often in both mathematics and computer science.

Euclidean division is based on the following result, which is sometimes called **Euclid's division lemma**.

Given two integers *a* and *b*, with *b* ≠ 0, there exist unique integers *q* and *r* such that

*a*=*bq*+*r*

and

- 0 ≤
*r*< |*b*|,

where |*b*| denotes the absolute value of *b*.^{[4]}

In the above theorem, each of the four integers has a name of its own: *a* is called the *dividend*, *b* is called the *divisor*, *q* is called the *quotient* and *r* is called the *remainder*.

The computation of the quotient and the remainder from the dividend and the divisor is called *division*, or in case of ambiguity, *Euclidean division*. The theorem is frequently referred to as the *division algorithm* (although it is a theorem and not an algorithm), because its proof as given below lends itself to a simple division algorithm for computing *q* and *r* (see the section Proof for more).

Division is not defined in the case where *b* = 0; see division by zero.

For the remainder and the modulo operation, there are conventions other than 0 ≤ *r* < |*b*|, see § Other intervals for the remainder.

This section needs additional citations for verification. Please help improve this article by adding citations to reliable sources in this section. Unsourced material may be challenged and removed.Find sources: "Euclidean division" – news · newspapers · books · scholar · JSTOR (September 2016) (Learn how and when to remove this template message)

Although "Euclidean division" is named after Euclid, it seems that he did not know the existence and uniqueness theorem, and that the only computation method that he knew was the division by repeated subtraction.^{[citation needed]}

Before the discovery of Hindu–Arabic numeral system, which was introduced in Europe during the 13th century by Fibonacci, division was extremely difficult, and only the best mathematicians were able to do it. Presently, most division algorithms, including long division, are based on this notation or its variants, such as binary numerals. A notable exception is Newton–Raphson division, which is independent from any numeral system.

The term "Euclidean division" was introduced during the 20th century as a shorthand for "division of Euclidean rings". It has been rapidly adopted by mathematicians for distinguishing this division from the other kinds of division of numbers.^{[citation needed]}

Suppose that a pie has 9 slices and they are to be divided evenly among 4 people. Using Euclidean division, 9 divided by 4 is 2 with remainder 1. In other words, each person receives 2 slices of pie, and there is 1 slice left over.

This can be confirmed using multiplication, the inverse of division: if each of the 4 people received 2 slices, then 4 × 2 = 8 slices were given out in total. Adding the 1 slice remaining, the result is 9 slices. In summary: 9 = 4 × 2 + 1.

In general, if the number of slices is denoted and the number of people is denoted *, then one can divide the pie evenly among the people such that each person receives ** slices (the quotient), with some number of slices being the leftover (the remainder). In which case, the equation holds.
*

If 9 slices were divided among 3 people instead of 4, then each would receive 3 and no slice would be left over, which means that the remainder would be zero, leading to the conclusion that 3 *evenly divides* 9, or that 3 *divides* 9.

Euclidean division can also be extended to negative dividend (or negative divisor) using the same formula; for example −9 = 4 × (−3) + 3, which means that −9 divided by 4 is −3 with remainder 3.

- If
*a*= 7 and*b*= 3, then*q*= 2 and*r*= 1, since 7 = 3 × 2 + 1. - If
*a*= 7 and*b*= −3, then*q*= −2 and*r*= 1, since 7 = −3 × (−2) + 1. - If
*a*= −7 and*b*= 3, then*q*= −3 and*r*= 2, since −7 = 3 × (−3) + 2. - If
*a*= −7 and*b*= −3, then*q*= 3 and*r*= 2, since −7 = −3 × 3 + 2.

The following proof of the division theorem relies on the fact that a decreasing sequence of non-negative integers stops eventually. It is separated into two parts: one for existence and another for uniqueness of * and **. Other proofs use the well-ordering principle (i.e., the assertion that every non-empty set of non-negative integers has a smallest element) to make the reasoning simpler, but have the disadvantage of not providing directly an algorithm for solving the division (see § Effectiveness for more).*^{[5]}

Consider first the case *b* < 0. Setting *b' *= –*b* and *q' *= –*q*, the equation *a* = *bq* + *r* may be rewritten as *a* = *b'q' *+ *r* and the inequality 0 ≤ *r* < *|b|* may be rewritten as 0 ≤ *r* < *|b′|*. This reduces the existence for the case *b* < 0 to that of the case *b* > 0.

Similarly, if *a* < 0 and *b* > 0, setting *a' *= –*a*, *q' *= –*q* – 1, and *r' *= *b* – *r*, the equation *a* = *bq* + *r* may be rewritten as *a' *= *bq' *+ *r′*, and the inequality 0 ≤ *r* < |*b*| may be rewritten as 0 ≤ *r' * < |*b*|. Thus the proof of the existence is reduced to the case *a* ≥ 0 and *b* > 0 — which will be considered in the remainder of the proof.

Let *q*_{1} = 0 and *r*_{1} = *a*, then these are non-negative numbers such that *a* = *bq*_{1} + *r*_{1}. If *r*_{1} < *b* then the division is complete, so suppose *r*_{1} ≥ *b*. Then defining *q*_{2} = *q*_{1} + 1 and *r*_{2} = *r*_{1} – *b*, one has *a* = *bq*_{2} + *r*_{2} with 0 ≤ *r*_{2} < *r*_{1}. As there are only *r*_{1} non-negative integers less than *r*_{1}, one only needs to repeat this process at most *r*_{1} times to reach the final quotient and the remainder. That is, there exist a natural number *k* ≤ *r*_{1} such that *a* = *bq*_{k} + *r*_{k} and 0 ≤ *r*_{k} < |*b*|.

This proves the existence and also gives a simple division algorithm for computing the quotient and the remainder. However, this algorithm is not efficient, since its number of steps is of the order of *a*/*b*.

The pair of integers *r* and *q* such that *a* = *bq* + *r* is unique, in the sense that there can be no other pair of integers that satisfy the same condition in the Euclidean division theorem. In other words, if we have another division of *a* by *b*, say *a* = *bq' * + *r'* with 0 ≤ *r' * < |*b*|, then we must have that

*q'*=*q*and*r'*=*r*.

To prove this statement, we first start with the assumptions that

- 0 ≤
*r*< |*b*| - 0 ≤
*r'*< |*b*| *a*=*bq*+*r**a*=*bq'*+*r'*

Subtracting the two equations yields

*b*(*q*–*q′*) =*r′*–*r*.

So *b* is a divisor of *r′* – *r*. As

- |
*r′*–*r*| < |*b*|

by the above inequalities, one gets

*r′*–*r*= 0,

and

*b*(*q*–*q′*) = 0.

Since *b* ≠ 0, we get that *r* = *r′* and *q* = *q′*, which proves the uniqueness part of the Euclidean division theorem.

In general, an existence proof does not provide an algorithm for computing the existing quotient and remainder, but the above proof does immediately provide an algorithm (see Division algorithm#Division by repeated subtraction), even though it is not a very efficient one as it requires as many steps as the size of the quotient. This is related to the fact that it uses only additions, subtractions and comparisons of integers, without involving multiplication, nor any particular representation of the integers such as decimal notation.

In terms of decimal notation, long division provides a much more efficient algorithm for solving Euclidean divisions. Its generalization to binary and hexadecimal notation provides further flexibility and possibility for computer implementation. However, for large inputs, algorithms that reduce division to multiplication, such as Newton–Raphson, are usually preferred, because they only need a time which is proportional to the time of the multiplication needed to verify the result—independently of the multiplication algorithm which is used (for more, see Division algorithm#Fast division methods).

The Euclidean division admits a number of variants, some of which are listed below.

In Euclidean division with d as divisor, the remainder is supposed to belong to the interval [0, *d*) of length |*d*|. Any other interval of the same length may be used. More precisely, given integers , , with , there exist unique integers and with such that .

In particular, if then . This division is called the *centered division*, and its remainder is called the *centered remainder* or the least absolute remainder*.*

This is used for approximating real numbers: Euclidean division defines truncation, and centered division defines rounding.

Main article: Montgomery modular multiplication |

Given integers , and with and let be the modular multiplicative inverse of (i.e., with being a multiple of ), then there exist unique integers and with such that .
This result generalizes Hensel's odd division (1900).^{[6]}

The value is the *N*-residue defined in Montgomery reduction.

See also: Polynomial long division, Polynomial greatest common divisor § Euclidean division, and Polynomial greatest common divisor § Pseudo-remainder sequences |

Euclidean domains (also known as **Euclidean rings**)^{[7]} are defined as integral domains which support the following generalization of Euclidean division:

- Given an element
*a*and a non-zero element*b*in a Euclidean domain*R*equipped with a**Euclidean function***d*(also known as a**Euclidean valuation**^{[8]}or**degree function**^{[7]}), there exist*q*and*r*in*R*such that*a*=*bq*+*r*and either*r*= 0 or*d*(*r*) <*d*(*b*).

Uniqueness of *q* and *r* is not required.^{[1]} It occurs only in exceptional cases, typically for univariate polynomials, and for integers, if the further condition *r* ≥ 0 is added.

Examples of Euclidean domains include fields, polynomial rings in one variable over a field, and the Gaussian integers. The Euclidean division of polynomials has been the object of specific developments.