Given an integer X, the task is to find the possible values of Q for the pair (Q, R) such that their product is equal to X times their sum, where Q ≤ R and X < 107. Print the total count of such values of Q along with values.
Input: X = 3
On taking Q = 4 and R = 12,
LHS = 12 x 4 = 48
RHS = 3(12 + 4) = 3 x 16 = 48 = LHS
Similarly, the equation also holds for value Q = 6 and R = 6.
LHS = 6 x 6 = 36
RHS = 3(6 + 6) = 3 x 12 = 36 = LHS
Input: X = 16
17, 18, 20, 24, 32
If Q = 17 and R = 272,
LHS = 17 x 272 = 4624
RHS = 16(17 + 272) = 16(289) = 4624 = LHS.
Similarly, there exists a value R for all other values of Q given in the output.
Approach: The idea is to understand the question to form an equation, that is (Q x R) = X(Q + R).
- The idea is to iterate from 1 to X and check for every if ((( X + i ) * X) % i ) == 0.
- Initialize a resultant vector, and iterate for all the values of X from 1.
- Check if the above condition holds true. If it does then push the value X+i in the vector.
- Let’s break the equation in order to understand it more clearly,
The given expression is (Q x R) = X(Q + R)
On simplifying this we get,
=> QR – QX = RX
or, QR – RX = QX
or, R = QX / (Q – X)
- Hence, observe that (X+i) is the possible value of Q and (X+i)*X is the possible value of R.
Below is the implementation of the above approach:
2 4 6
Time Complexity: O(N)
Auxiliary Space: O(X)
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.