Given three integers a, b and c representing a linear equation of the form: ax + by = c. The task is to find the initial integral solution of the given equation if finite solution exists.
A Linear Diophantine equation (LDE) is an equation with 2 or more integer unknowns and the integer unknowns are each to at most degree of 1. Linear Diophantine equation in two variables takes the form of ax+by=c, where x,y are integer variables and a, b, c are integer constants. x and y are unknown variables.
Input: a = 4, b = 18, c = 10
Output: x = -20, y = 5
Explanation: (-20)*4 + (5)*18 = 10
Input: a = 9, b = 12, c = 5
Output: No Solutions exists
- First check if a and are non-zero.
- If both of them are zero and c is non-zero then, no solution exists. If c is also zero then infinite solution exits.
- For given a and b, calculate value of x1, y1 and gcd using Extended Euclidean Algorithm.
- Now, for solution to exist gcd(a, b) should be multiple of c.
- Calculate solution of the equation as follows:
x = x1 * ( c / gcd ) y = y1 * ( c / gcd )
Below is the implementation of the above approach:
x = -20, y = 5
Time Complexity: O(log(max(A, B))), where A and B are the coefficient of x and y in the given linear equation.
Auxiliary Space: O(1)
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Linear Diophantine Equations
- Find the integral roots of a given Cubic equation
- Number of integral solutions of the equation x1 + x2 +.... + xN = k
- Number of non-negative integral solutions of sum equation
- Number of integral solutions for equation x = b*(sumofdigits(x)^a)+c
- Find number of solutions of a linear equation of n variables
- Solve the Linear Equation of Single Variable
- Find total no of collisions taking place between the balls in which initial direction of each ball is given
- Find initial sequence that produces a given Array by cyclic increments upto index P
- Find integral points with minimum distance from given set of integers using BFS
- Count of elements that can be deleted without disturbing the mean of the initial array
- Number of ways in which an item returns back to its initial position in N swaps in array of size K
- Minimum value to be assigned to the elements so that sum becomes greater than initial sum
- Nth angle of a Polygon whose initial angle and per angle increment is given
- Count Integral points inside a Triangle
- Number of Integral Points between Two Points
- Number of non-negative integral solutions of a + b + c = n
- Trapezoidal Rule for Approximate Value of Definite Integral
- Program for finding the Integral of a given function using Boole's Rule
- Count of integral coordinates that lies inside a Square
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.