Pair of integers (a, b) which satisfy the given equations
Last Updated :
30 Jan, 2022
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++
#include <bits/stdc++.h>
using namespace std;
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;
}
int main()
{
int n = 9, m = 3;
cout << pairCount(n, m) << endl;
return 0;
}
|
Java
class GFG
{
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;
}
public static void main(String[] args)
{
int n = 9 , m = 3 ;
System.out.print(pairCount(n, m) + "\n" );
}
}
|
Python3
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;
if __name__ = = '__main__' :
n = 9 ;
m = 3 ;
print (pairCount(n, m));
|
C#
using System;
class GFG
{
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;
}
public static void Main(String[] args)
{
int n = 9, m = 3;
Console.Write(pairCount(n, m) + "\n" );
}
}
|
Javascript
<script>
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;
}
var n = 9, m = 3;
document.write(pairCount(n, m));
</script>
|
Time Complexity: O(sqrt(min(n,m))
Auxiliary Space: O(1)
Share your thoughts in the comments
Please Login to comment...