Kuṭṭaka
   HOME

TheInfoList



OR:

Kuṭṭaka is an
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
for finding
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 ...
solutions of
linear Linearity is the property of a mathematical relationship ('' function'') that can be graphically represented as a straight line. Linearity is closely related to '' proportionality''. Examples in physics include rectilinear motion, the linear ...
Diophantine equation In mathematics, a Diophantine equation is an equation, typically a polynomial equation in two or more unknowns with integer coefficients, such that the only solutions of interest are the integer ones. A linear Diophantine equation equates to a ...
s. A linear Diophantine equation is an
equation In mathematics, an equation is a formula that expresses the equality of two expressions, by connecting them with the equals sign . The word ''equation'' and its cognates in other languages may have subtly different meanings; for example, in F ...
of the form ''ax'' + ''by'' = ''c'' where ''x'' and ''y'' are unknown quantities and ''a'', ''b'', and ''c'' are known quantities with integer values. The algorithm was originally invented by the Indian astronomer-mathematician
Āryabhaṭa Aryabhata (ISO: ) or Aryabhata I (476–550 CE) was an Indian mathematician and astronomer of the classical age of Indian mathematics and Indian astronomy. He flourished in the Gupta Era and produced works such as the ''Aryabhatiya'' (which ...
(476–550 CE) and is described very briefly in his
Āryabhaṭīya ''Aryabhatiya'' (IAST: ') or ''Aryabhatiyam'' ('), a Indian astronomy, Sanskrit astronomical treatise, is the ''Masterpiece, magnum opus'' and only known surviving work of the 5th century Indian mathematics, Indian mathematician Aryabhata. Philos ...
. Āryabhaṭa did not give the algorithm the name ''Kuṭṭaka'', and his description of the method was mostly obscure and incomprehensible. It was
Bhāskara I Bhāskara () (commonly called Bhāskara I to avoid confusion with the 12th-century mathematician Bhāskara II) was a 7th-century Indian mathematician and astronomer who was the first to write numbers in the Hindu–Arabic decimal system with a ...
(c. 600 – c. 680) who gave a detailed description of the algorithm with several examples from astronomy in his ''Āryabhatiyabhāṣya'', who gave the algorithm the name ''Kuṭṭaka''. In
Sanskrit Sanskrit (; attributively , ; nominally , , ) is a classical language belonging to the Indo-Aryan languages, Indo-Aryan branch of the Indo-European languages. It arose in South Asia after its predecessor languages had Trans-cultural diffusion ...
, the word Kuṭṭaka means ''pulverization'' (reducing to powder), and it indicates the nature of the algorithm. The algorithm in essence is a process where the coefficients in a given linear Diophantine equation are broken up into smaller numbers to get a linear Diophantine equation with smaller coefficients. In general, it is easy to find integer solutions of linear Diophantine equations with small coefficients. From a solution to the reduced equation, a solution to the original equation can be determined. Many Indian mathematicians after Aryabhaṭa have discussed the Kuṭṭaka method with variations and refinements. The Kuṭṭaka method was considered to be so important that the entire subject of algebra used to be called ''Kuṭṭaka-ganita'' or simply ''Kuṭṭaka''. Sometimes the subject of solving linear Diophantine equations is also called ''Kuṭṭaka''. In literature, there are several other names for the Kuṭṭaka algorithm like ''Kuṭṭa'', ''Kuṭṭakāra'' and ''Kuṭṭikāra''. There is also a treatise devoted exclusively to a discussion of Kuṭṭaka. Such specialized treatises are very rare in the mathematical literature of ancient India. The treatise written in Sanskrit is titled '' Kuṭṭākāra Śirōmaṇi'' and is authored by one Devaraja. The Kuṭṭaka algorithm has much similarity with and can be considered as a precursor of the modern day
extended Euclidean algorithm In arithmetic and computer programming, the extended Euclidean algorithm is an extension to the Euclidean algorithm, and computes, in addition to the greatest common divisor (gcd) of integers ''a'' and ''b'', also the coefficients of Bézout's id ...
. The latter algorithm is a procedure for finding integers ''x'' and ''y'' satisfying the condition ''ax'' + ''by'' = gcd(''a'', ''b'').


Aryabhaṭa's formulation of the problem

The problem that can supposedly be solved by the Kuṭṭaka method was not formulated by Aryabhaṭa as a problem of solving the linear Diophantine equation. Aryabhaṭa considered the following problems all of which are equivalent to the problem of solving the linear Diophantine equation: *''Find an integer which when divided by two given integers leaves two given remainders''. This problem may be formulated in two different ways: :*Let the integer to be found be ''N'', the divisors be ''a'' and ''b'', and the remainders be ''R''1 and ''R''2. Then the problem is to find ''N'' such that :::''N'' ≡ ''R''1 (mod ''a'') and ''N'' ≡ ''R''2 (mod ''b''). :*Letting the integer to be found to be ''N'', the divisors be ''a'' and ''b'', and the remainders be ''R''1 and ''R''2, the problem is to find ''N'' such that there are integers ''x'' and ''y'' such that :::''N'' = ''ax'' + ''R''1 and ''N'' = ''by'' + ''R''2. ::This is equivalent to :::''ax'' − ''by'' = ''c'' where ''c'' = ''R''2 − ''R''1. *''Find an integer such that its product with a given integer being increased or decreased by another given integer and then divided by a third integer leaves no remainder''. Letting the integer to be determined be ''x'' and the three integers be ''a'', ''b'' and ''c'', the problem is to find ''x'' such that (''ax'' ± ''b'')/''c'' is an integer ''y''. This is equivalent to finding integers ''x'' and ''y'' such that ::(''ax'' ± ''b'')/''c'' = ''y''. : This in turn is equivalent to the problem of finding integer solutions of ''ax'' ± ''by'' = ±''c''.


Reduction of the problem

Aryabhata and other Indian writers had noted the following property of linear Diophantine equations: "The linear Diophantine equation ''ax'' + ''by'' = ''c'' has a solution if and only if gcd(''a'', ''b'') 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 ''c''." So the first stage in the ''pulverization'' process is to cancel out the common factor gcd(''a'', ''b'') from ''a'', ''b'' and ''c'', and obtain an equation with smaller coefficients in which the coefficients of ''x'' and ''y'' are
relatively prime 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 example, Bhāskara I observes: "The dividend and the divisor shall become prime to each other, on being divided by the residue of their mutual division. The operation of the pulveriser should be considered in relation to them."


Aryabhata's algorithm

Aryabhata gave the algorithm for solving the linear Diophantine equation in verses 32–33 of Ganitapada of Aryabhatiya. Taking Bhāskara I's explanation of these verses also into consideration, Bibhutibbhushan Datta has given the following translation of these verses: :"Divide the divisor corresponding to the greater remainder by the divisor corresponding to the smaller remainder. The residue (and the divisor corresponding to the smaller remainder) being mutually divided (until the remainder becomes zero), the last quotient should be multiplied by an optional integer and then added (in case the number of quotients of the mutual division is even) or subtracted (in case the number of quotients is odd) by the difference of the remainders. (Place the other quotients of the mutual division successively one below the other in a column; below them the result just obtained and underneath it the optional integer.) Any number below (that is, the penultimate) is multiplied by the one just above it and added by that just below it. Divide the last number (obtained so doing repeatedly) by the divisor corresponding to the smaller remainder; then multiply the residue by the divisor corresponding to the greater remainder and add the greater remainder. (The result will be) the number corresponding to the two divisors." Some comments are in order. *The algorithm yields the smallest positive integer which gives specified remainders when divided by given numbers. *The validity of the algorithm can be established by translating the process into modern mathematical notations. *Subsequent Indian mathematicians including
Brahmagupta Brahmagupta ( – ) was an Indian mathematician and astronomer. He is the author of two early works on mathematics and astronomy: the '' Brāhmasphuṭasiddhānta'' (BSS, "correctly established doctrine of Brahma", dated 628), a theoretical tr ...
(628 AD),
Mahavira Mahavira (Sanskrit: महावीर) also known as Vardhaman, was the 24th ''tirthankara'' (supreme preacher) of Jainism. He was the spiritual successor of the 23rd ''tirthankara'' Parshvanatha. Mahavira was born in the early part of the 6 ...
(850), Aryabhata II (950), Sripati (1039),
Bhāskara II Bhāskara II (c. 1114–1185), also known as Bhāskarāchārya ("Bhāskara, the teacher"), and as Bhāskara II to avoid confusion with Bhāskara I, was an Indian mathematician and astronomer. From verses, in his main work, Siddhānta Shiroma ...
(1150) and Narayana (1350) have developed several variants of this algorithm and have also discussed several special cases of the algorithm.


Elaboration of Aryabhatta's Kuttaka

Without loss of generality, let ''ax-by=c'' be our Diophantine equation where ''a'', ''b'' are positive integers and ''c'' is an integer. Divide both sides of the equation by ''gcd(a,b)''. If ''c'' is not divisible by ''gcd(a,b)'' then there are no integer solutions to this equation. After the division, we get the equation ''a'x-b'y=c. The solution to this equation is the solution to ''ax-by=c''. Without loss of generality, let us consider a > b. Using
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 ...
, follow these recursive steps:
''a' = a1b' + r1''
''b' = a2r1 + r2''
''r1 = a3r2 + r3''

''rn-2 = anrn-1 + 1''. Where ''rn = 1''. Now, define quantities ''xx+2'', ''xn+1'', ''xn'',.. by backward induction as follows:
If ''n'' is odd, take ''xn+2 = 0'' and ''xn+1 = 1.
If ''n'' is even, take ''xn+2=1'' and ''xn+1=rn-1-1''.
Now,calculate all ''xm (n≥m≥1)'' by ''xm=amxm+1+xm+2''. Then ''y = c'x1'' and ''x = c'x2''.


Example


Problem statement

Consider the following problem: :"Find an integer such that it leaves a remainder of 15 when divided by 29 and a remainder of 19 when divided by 45."


Data

Remainders = 15, 19 Greater remainder = 19 Divisor corresponding to greater remainder = 45 Smaller remainder = 15 Divisor corresponding to smaller remainder = 29 Difference of remainders = 19 - 15 = 4


Step 1: Mutual divisions

Divide 45 by 29 to get quotient 1 and remainder 16: 29 ) 45 ( 1 29 ---- Divide 29 by 16 to get quotient 1 and remainder 13: 16 ) 29 ( 1 16 ---- Divide 16 by 13 to get quotient 1 and remainder 3: 13 ) 16 ( 1 13 ---- Divide 13 by 3 to get quotient 4 and remainder 1: 3 ) 13 ( 4 3 ---- Divide 3 by 1 to get quotient 3 and remainder 0: 1 ) 3 ( 3 1 ---- The process of mutual division stops here. 0


Step 2: Choosing an optional integer

Quotients = 1, 1, 1, 4, 3 Number of quotients = 4 (an even integer) (excluding the first quotient) Choose an optional integer = 2 (= k) The last quotient = 3 Multiply the optional integer by last quotient = 2 × 3 = 6 Add the above product to difference of remainders = 6 + 4 = 10 (= 3 × k + 4)


Step 4: Computation of successive numbers

Write elements of 1st column : 1, 1, 4, 3, 2, 4 (contains 4 quotients) Compute elements of 2nd column : 1, 1, 4, 10, 2 (contains 3 quotients) Compute elements of 3rd column : 1, 1, 42, 10 (contains 2 quotients) Compute elements of 4th column : 1, 52, 42 (contains 1 quotient) Compute elements of 5th column : 94, 52 (contains no quotients) The computational procedure is shown below: Quotient 1 : 1 1 1 1 94 ↗ Quotient 2 : 1 1 1 52 (52×1 + 42 = 94) 52 ↗ Quotient 3 : 4 4 42 (42×1 + 10 =52) 42 ↗ Quotient 4 : 3 10 (10×4 + 2 = 42) 10 ↗ k : 2 (2×3 + 4 = 10) 2 Difference : 4 of remainders


Step 5: Computation of solution

The last number obtained = 94 The residue when 94 is divided by the divisor corresponding to smaller remainder = 7 Multiply this residue by the divisor corresponding to larger remainder = 7 × 45 = 315 Add the larger remainder = 315 + 19 = 334


Solution

The required number is 334.


Verification of solution

334 = 11 × 29 + 15. So, 334 leaves a remainder of 15 when divided by 29. 334 = 7 × 45 + 19. So, 334 leaves a remainder of 19 when divided by 45.


Remarks

The number 334 is the ''smallest'' integer which leaves remainders 15 and 19 when divided by 29 and 45 respectively.


An example from ''Laghubhāskarīya''

The following example taken from ''Laghubhāskarīya'' of
Bhāskara I Bhāskara () (commonly called Bhāskara I to avoid confusion with the 12th-century mathematician Bhāskara II) was a 7th-century Indian mathematician and astronomer who was the first to write numbers in the Hindu–Arabic decimal system with a ...
illustrates how the Kuttaka algorithm was used in the astronomical calculations in India.


Problem statement

The sum, the difference and the product increased by unity, of the residues of the revolutions of Saturn and Mars – each is a perfect square. Taking the equations furnished by the above and applying the methods of such quadratics obtain the (simplest) solution by the substitution of 2, 3, etc. successively (in the general solution). Then calculate the ''ahargana'' and the revolutions performed by Saturn and Mars in that time together with the number of solar years elapsed.


Some background information

In the Indian astronomical tradition, a ''
Yuga A ''yuga'', in Hinduism, is generally used to indicate an age of time. In the ''Rigveda'', a ''yuga'' refers to generations, a long period, a very brief period, or a yoke (joining of two things). In the ''Mahabharata'', the words ''yuga'' and ...
'' is a period consisting of 1,577,917,500 civil days. Saturn makes 146,564 revolutions and Mars makes 229,6824 revolutions in a Yuga. So Saturn makes 146,564/1,577,917,500 = 36,641/394,479,375 revolutions in a day. By saying that the residue of the revolution of Saturn is ''x'', what is meant is that the fractional number of revolutions is ''x''/394,479,375. Similarly, Mars makes 229,6824/1,577,917,500 = 190,412/131,493,125 revolutions in a day. By saying that the residue of the revolution of Mars is ''y'', what is meant is that the fractional number of revolutions is ''y''/131,493,125.


Computation of the residues

Let ''x'' and ''y'' denote the residues of the revolutions of Saturn and Mars respectively satisfying the conditions stated in the problem. They must be such that each of . and is a perfect square. Setting :, one obtains :, and so :. For ''xy'' + 1 also to be a perfect square we must have :, that is . Thus the following general solution is obtained: :, . The value ''q'' = 2 yields the special solution ''x'' = 40, ''y'' = 24.


Computations of the ''aharganas'' and the numbers of revolutions

''Ahargana'' is the number of days elapsed since the beginning of the Yuga.


Saturn

Let ''u'' be the value of the ahargana corresponding the residue 24 for Saturn. During ''u'' days, saturn would have completed (36,641/394,479,375)×''u'' number of revolutions. Since there is a residue of 24, this number would include the fractional number 24/394,479,375 of revolutions also. Hence during the ahargana ''u'', the number of revolutions completed would be : which would be an integer. Denoting this integer by ''v'', the problem reduces to solving the following linear Diophantine equation: : Kuttaka may be applied to solve this equation. The smallest solution is :''u'' = 346,688,814 and ''v'' = 32,202.


Mars

Let ''u'' be the value of the ahargana corresponding the residue 40 for Mars. During ''u'' days, Mars would have completed (190,412/131,493,125) × ''u'' number of revolutions. Since there is a residue of 40, this number would include the fractional number 40/131,493,125 of revolutions also. Hence during the ahargana ''u'', the number of revolutions completed would be : which would be an integer. Denoting this integer by ''v'', the problem reduces to solving the following linear Diophantine equation: :. Kuttaka may be applied to solve this equation. The smallest solution is :''u'' = 118,076,020 and ''v'' = 171,872.


References


Further reading

*For a comparison of Indian and Chinese methods for solving linear diophantine equations: *For a comparison of the complexity of the Aryabhata algorithm with the complexities of Euclidean algorithm, Chinese remainder theorem and Garner's algorithm: *For a popular readable account of the Kuttaka: *For an application of Kuttaka in computing full moon days: *For a discussion of the computational aspects of Aryabhata algorithm: *For the interpretation of Aryabhata's original formulation of algorithm: *For a detailed exposition of the Kuttaka algorithm as given by Sankaranarayana in his commentary on Laghubhaskariya: {{DEFAULTSORT:Kuttaka Indian mathematics