Pair of integers (a, b) which satisfy the given equations
Given the system of equations a2 + b = n and a + b2 = m. The task is to find the number of pair of positive integers (a, b) which satisfy the equation for given n and m.
Examples:
Input: n = 9, m = 3
Output: 1
Explanation:
Only one pair (3, 0) exists for both equations satisfying the conditions.
Input: n = 4, m = 20
Output: 0
Explanation:
There are no such pair exists.
Approach:
The approach is to check for all possible pairs of numbers and check if that pair satisfy both the equations or not. For this we have,
a2 + b = n ... (1) a + b2 = m ... (2) For equation (2), => a = m - b2 ... (3)
- Now for the positive value of a, every value of b must be from 0 to sqrt(m).
- Obtain the value of a from equations (3).
- If the pair (a, b) satisfy equation (1), then pair (a, b) is the solution of system of equations.
Below is the implementation of the above approach:
C++
// C++ program to count the pair of integers(a, b) // which satisfy the equation // a^2 + b = n and a + b^2 = m #include <bits/stdc++.h> using namespace std; // Function to count valid pairs int pairCount( int n, int m) { int cnt = 0, b, a; for (b = 0; b <= sqrt (m); b++) { a = m - b * b; if (a * a + b == n) { cnt++; } } return cnt; } // Driver code int main() { int n = 9, m = 3; cout << pairCount(n, m) << endl; return 0; } |
Java
// Java program to count the pair of integers(a, b) // which satisfy the equation // a^2 + b = n and a + b^2 = m class GFG { // Function to count valid pairs static int pairCount( int n, int m) { int cnt = 0 , b, a; for (b = 0 ; b <= Math.sqrt(m); b++) { a = m - b * b; if (a * a + b == n) { cnt++; } } return cnt; } // Driver code public static void main(String[] args) { int n = 9 , m = 3 ; System.out.print(pairCount(n, m) + "\n" ); } } // This code is contributed by 29AjayKumar |
Python3
# Python3 program to count the pair of integers(a, b) # which satisfy the equation # a^2 + b = n and a + b^2 = m # Function to count valid pairs def pairCount(n, m): cnt = 0 ; for b in range ( int ( pow (m, 1 / 2 ))): a = m - b * b; if (a * a + b = = n): cnt + = 1 ; return cnt; # Driver code if __name__ = = '__main__' : n = 9 ; m = 3 ; print (pairCount(n, m)); # This code is contributed by 29AjayKumar |
C#
// C# program to count the pair of integers(a, b) // which satisfy the equation // a^2 + b = n and a + b^2 = m using System; class GFG { // Function to count valid pairs static int pairCount( int n, int m) { int cnt = 0, b, a; for (b = 0; b <= Math.Sqrt(m); b++) { a = m - b * b; if (a * a + b == n) { cnt++; } } return cnt; } // Driver code public static void Main(String[] args) { int n = 9, m = 3; Console.Write(pairCount(n, m) + "\n" ); } } // This code is contributed by 29AjayKumar |
Javascript
<script> // javascript program to count the pair of integers(a, b) // which satisfy the equation // a^2 + b = n and a + b^2 = m // Function to count valid pairs function pairCount(n , m) { var cnt = 0, b, a; for (b = 0; b <= Math.sqrt(m); b++) { a = m - b * b; if (a * a + b == n) { cnt++; } } return cnt; } // Driver code var n = 9, m = 3; document.write(pairCount(n, m)); // This code is contributed by Amit Katiyar </script> |
Output:
1
Time Complexity: O(sqrt(min(n,m))
Auxiliary Space: O(1)
Contact Us