# Equation of straight line passing through a given point which bisects it into two equal line segments

Given a straight line which passes through a given point **(x _{0}, y_{0})** such that this point bisects the line segment in two equal line segments. The task is to find the equation of this straight line.

**Examples:**

Input:x_{0}= 4, y_{0}= 3Output:3x + 4y = 24Input:x_{0}= 7, y_{0}= 12Output:12x + 7y = 168

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the

DSA Self Paced Courseat a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please referComplete Interview Preparation Course.In case you wish to attend

live classeswith experts, please referDSA Live Classes for Working ProfessionalsandCompetitive Programming Live for Students.

**Approach:**

Let **PQ** be the line and **AB** be the line segment between the axes. The x-intercept and y-intercept are **a** & **b** respectively.

Now, as **C(x _{0}, y_{0})** bisects

**AB**so,

**x**i.e.

_{0}= (a + 0) / 2**a = 2x**

_{0}Similarly,

**y**i.e.

_{0}= (0 + b) / 2**b = 2y**

_{0}We know that the equation of a straight line in intercept form is,

x / a + y / b = 1

Here,a = 2x&_{0}b = 2y_{0}

So,x / 2x_{0}+ y / 2y_{0}= 1

or,x / x_{0}+ y / y_{0}= 2

Therefore,x * y_{0}+ y * x_{0}= 2 * x_{0}* y_{0}

Below is the implementation of the above approach:

## C++

`// C++ implementation of the approach` `#include <iostream>` `using` `namespace` `std;` `// Function to print the equation` `// of the required line` `void` `line(` `double` `x0, ` `double` `y0)` `{` ` ` `double` `c = 2 * y0 * x0;` ` ` `cout << y0 << ` `"x"` ` ` `<< ` `" + "` `<< x0 << ` `"y = "` `<< c;` `}` `// Driver code` `int` `main()` `{` ` ` `double` `x0 = 4, y0 = 3;` ` ` `line(x0, y0);` ` ` `return` `0;` `}` |

## Java

`// Java implementation of the approach` `class` `GFG` `{` ` ` `// Function to print the equation` `// of the required line` `static` `void` `line(` `double` `x0, ` `double` `y0)` `{` ` ` `double` `c = (` `int` `)(` `2` `* y0 * x0);` ` ` `System.out.println(y0 + ` `"x"` `+ ` `" + "` `+` ` ` `x0 + ` `"y = "` `+ c);` `}` `// Driver code` `public` `static` `void` `main(String[] args)` `{` ` ` `double` `x0 = ` `4` `, y0 = ` `3` `;` ` ` `line(x0, y0);` `}` `}` `// This code is contributed` `// by Code_Mech` |

## Python3

`# Python 3 implementation of the approach` `# Function to print the equation` `# of the required line` `def` `line(x0, y0):` ` ` `c ` `=` `2` `*` `y0 ` `*` `x0` ` ` `print` `(y0, ` `"x"` `, ` `"+"` `, x0, ` `"y="` `, c)` `# Driver code` `if` `__name__ ` `=` `=` `'__main__'` `:` ` ` `x0 ` `=` `4` ` ` `y0 ` `=` `3` ` ` `line(x0, y0)` ` ` `# This code is contributed by` `# Surendra_Gangwar` |

## C#

`// C# implementation of the approach` `using` `System;` `class` `GFG` `{` ` ` `// Function to print the equation` `// of the required line` `static` `void` `line(` `double` `x0, ` `double` `y0)` `{` ` ` `double` `c = (` `int` `)(2 * y0 * x0);` ` ` `Console.WriteLine(y0 + ` `"x"` `+ ` `" + "` `+` ` ` `x0 + ` `"y = "` `+ c);` `}` `// Driver code` `public` `static` `void` `Main(String[] args)` `{` ` ` `double` `x0 = 4, y0 = 3;` ` ` `line(x0, y0);` `}` `}` `/* This code contributed by PrinciRaj1992 */` |

## PHP

`<?php` `// PHP implementation of the approach` `// Function to print the equation` `// of the required line` `function` `line(` `$x0` `, ` `$y0` `)` `{` ` ` `$c` `= 2 * ` `$y0` `* ` `$x0` `;` ` ` `echo` `$y0` `, ` `"x"` `,` `" + "` `,` ` ` `$x0` `, ` `"y = "` `, ` `$c` `;` `}` `// Driver code` `$x0` `= 4; ` `$y0` `= 3;` `line(` `$x0` `, ` `$y0` `);` `// This code is contributed by Ryuga` `?>` |

## Javascript

`<script>` `// javascript implementation of the approach` ` ` `// Function to print the equation` `// of the required line` `function` `line(x0 , y0)` `{` ` ` `var` `c = parseInt(2 * y0 * x0);` ` ` `document.write(y0 + ` `"x"` `+ ` `" + "` `+` ` ` `x0 + ` `"y = "` `+ c);` `}` `// Driver code` `var` `x0 = 4, y0 = 3;` `line(x0, y0);` `// This code is contributed by Amit Katiyar` `</script>` |

**Output:**

3x + 4y = 24