# Reduce the fraction to its lowest form

Given two integers **x **and **y **and where **x** is divisible by **y**. It can be represented in the form of a fraction **x/y**. The task is to reduce the fraction to its lowest form.**Examples:**

Input :x = 16, y = 10Output :x = 8, y = 5Input :x = 10, y = 8Output :x = 5, y = 4

**Approach:** Both of the values **x** and **y **will be divisible by their greatest common divisor. So if we divide** x** and** y** from the **gcd(x, y)** then **x** and **y** can be reduced to its simplest form.

Below is the implementation of the above approach:

## C++

`// C++ program to reduce a fraction x/y` `// to its lowest form` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to reduce a fraction to its lowest form` `void` `reduceFraction(` `int` `x, ` `int` `y)` `{` ` ` `int` `d;` ` ` `d = __gcd(x, y);` ` ` `x = x / d;` ` ` `y = y / d;` ` ` `cout << ` `"x = "` `<< x << ` `", y = "` `<< y << endl;` `}` `// Driver Code` `int` `main()` `{` ` ` `int` `x = 16;` ` ` `int` `y = 10;` ` ` `reduceFraction(x, y);` ` ` `return` `0;` `}` |

## Java

`// Java program to reduce a fraction x/y` `// to its lowest form` `class` `GFG` `{` `// Function to reduce a fraction to its lowest form` `static` `void` `reduceFraction(` `int` `x, ` `int` `y)` `{` ` ` `int` `d;` ` ` `d = __gcd(x, y);` ` ` `x = x / d;` ` ` `y = y / d;` ` ` `System.out.println(` `"x = "` `+ x + ` `", y = "` `+ y);` `}` `static` `int` `__gcd(` `int` `a, ` `int` `b)` `{` ` ` `if` `(b == ` `0` `)` ` ` `return` `a;` ` ` `return` `__gcd(b, a % b);` ` ` `}` `// Driver Code` `public` `static` `void` `main(String[] args)` `{` ` ` `int` `x = ` `16` `;` ` ` `int` `y = ` `10` `;` ` ` `reduceFraction(x, y);` `}` `}` `/* This code contributed by PrinciRaj1992 */` |

## Python3

`# Python3 program to reduce a fraction x/y` `# to its lowest form` `from` `math ` `import` `gcd` `# Function to reduce a fraction` `# to its lowest form` `def` `reduceFraction(x, y) :` ` ` ` ` `d ` `=` `gcd(x, y);` ` ` `x ` `=` `x ` `/` `/` `d;` ` ` `y ` `=` `y ` `/` `/` `d;` ` ` `print` `(` `"x ="` `, x, ` `", y ="` `, y);` `# Driver Code` `if` `__name__ ` `=` `=` `"__main__"` `:` ` ` `x ` `=` `16` `;` ` ` `y ` `=` `10` `;` ` ` `reduceFraction(x, y);` `# This code is contributed by Ryuga` |

## C#

`// C# program to reduce a fraction x/y` `// to its lowest form` `using` `System;` `class` `GFG` `{` ` ` `// Function to reduce a fraction to its lowest form` `static` `void` `reduceFraction(` `int` `x, ` `int` `y)` `{` ` ` `int` `d;` ` ` `d = __gcd(x, y);` ` ` ` ` `x = x / d;` ` ` `y = y / d;` ` ` ` ` `Console.WriteLine(` `"x = "` `+ x + ` `", y = "` `+ y);` `}` ` ` `static` `int` `__gcd(` `int` `a, ` `int` `b)` `{` ` ` `if` `(b == 0)` ` ` `return` `a;` ` ` `return` `__gcd(b, a % b);` ` ` `}` ` ` `// Driver Code` `public` `static` `void` `Main(String[] args)` `{` ` ` `int` `x = 16;` ` ` `int` `y = 10;` ` ` ` ` `reduceFraction(x, y);` `}` `}` `// This code has been contributed by 29AjayKumar` |

## PHP

`<?php` `// PHP program to reduce a fraction x/y` `// to its lowest form` `// Function to reduce a fraction to its lowest form` `function` `reduceFraction(` `$x` `, ` `$y` `)` `{` ` ` `$d` `;` ` ` `$d` `= __gcd(` `$x` `, ` `$y` `);` ` ` `$x` `= ` `$x` `/ ` `$d` `;` ` ` `$y` `= ` `$y` `/ ` `$d` `;` ` ` `echo` `(` `"x = "` `. ` `$x` `. ` `", y = "` `. ` `$y` `);` `}` `function` `__gcd(` `$a` `, ` `$b` `)` `{` ` ` `if` `(` `$b` `== 0)` ` ` `return` `$a` `;` ` ` `return` `__gcd(` `$b` `, ` `$a` `% ` `$b` `);` ` ` `}` `// Driver Code` `$x` `= 16;` `$y` `= 10;` `reduceFraction(` `$x` `, ` `$y` `);` `// This code is contributed by Rajput-Ji` `?>` |

## Javascript

`<script>` `// Javascript program to reduce a fraction x/y` `// to its lowest form` `// Function to reduce a fraction to its lowest form` `function` `reduceFraction(x, y)` `{` ` ` `let d;` ` ` `d = __gcd(x, y);` ` ` `x = parseInt(x / d);` ` ` `y = parseInt(y / d);` ` ` `document.write(` `"x = "` `+ x + ` `", y = "` `+ y);` `}` `function` `__gcd(a, b)` `{` ` ` `if` `(b == 0)` ` ` `return` `a;` ` ` `return` `__gcd(b, a % b);` ` ` `}` `// Driver Code` ` ` `let x = 16;` ` ` `let y = 10;` ` ` `reduceFraction(x, y);` `</script>` |

**Output**:

x = 8, y = 5

* Time Complexity:* O(log(max(x,y)))

* Auxiliary Space: *O(log(max(x,y)))