Related Articles

# Find the number which when added to the given ratio a : b, the ratio changes to c : d

• Last Updated : 22 Mar, 2021

Given four integers a, b, c and d. The task is to find the number X which when added to the numbers a and b the ratio changes from a : b to c : d.
Examples:

Input: a = 3, b = 6, c = 3, d = 4
Output:
When 6 is added to a and b
a = 3 + 6 = 9
b = 6 + 6 = 12
And, the new ratio will be 9 : 12 = 3 : 4
Input: a = 2, b = 3, c = 4, d = 5
Output:

Approach: Old ratio is a : b and new ratio is c : d. Let the required number be X
So, (a + X) / (b + X) = c / d
or, ad + dx = bc + cx
or, x(d – c) = bc – ad
So, x = (bc – ad) / (d – c)
Below is the implementation of the above approach:

## C++

 `// C++ implementation of the approach``#include ``using` `namespace` `std;` `// Function to return the``// required number X``int` `getX(``int` `a, ``int` `b, ``int` `c, ``int` `d)``{``    ``int` `X = (b * c - a * d) / (d - c);``    ``return` `X;``}` `// Driver code``int` `main()``{``    ``int` `a = 2, b = 3, c = 4, d = 5;` `    ``cout << getX(a, b, c, d);` `    ``return` `0;``}`

## Java

 `// Java implementation of the approach``import` `java.io.*;` `class` `GFG``{``    ` `// Function to return the``// required number X``static` `int` `getX(``int` `a, ``int` `b, ``int` `c, ``int` `d)``{``    ``int` `X = (b * c - a * d) / (d - c);``    ``return` `X;``}` `// Driver code``public` `static` `void` `main (String[] args)``{` `    ``int` `a = ``2``, b = ``3``, c = ``4``, d = ``5``;``    ``System.out.println (getX(a, b, c, d));` `}``}` `// The code is contributed by ajit..@23`

## Python

 `# Python3 implementation of the approach` `# Function to return the``# required number X``def` `getX(a, b, c, d):` `    ``X ``=` `(b ``*` `c ``-` `a ``*` `d) ``/``/` `(d ``-` `c)``    ``return` `X` `# Driver code` `a ``=` `2``b ``=` `3``c ``=` `4``d ``=` `5` `print``(getX(a, b, c, d))` `# This code is contributed by mohit kumar 29`

## C#

 `// C# implementation of the approach``using` `System;` `class` `GFG``{``    ` `// Function to return the``// required number X``static` `int` `getX(``int` `a, ``int` `b, ``int` `c, ``int` `d)``{``    ``int` `X = (b * c - a * d) / (d - c);``    ``return` `X;``}` `// Driver code``static` `public` `void` `Main ()``{``    ``int` `a = 2, b = 3, c = 4, d = 5;``    ``Console.Write(getX(a, b, c, d));``}``}` `// The code is contributed by Tushil.`

## Javascript

 ``
Output:
`2`

Attention reader! Don’t stop learning now. Participate in the Scholorship Test for First-Step-to-DSA Course for Class 9 to 12 students.

My Personal Notes arrow_drop_up