# 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}= 3

Output:3x + 4y = 24

Input:x_{0}= 7, y_{0}= 12

Output:12x + 7y = 168

**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}Similiarly,

**y**i.e.

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

_{0}We know that the equation of a straight line in intecept 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; ` `} ` |

*chevron_right*

*filter_none*

## 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 ` |

*chevron_right*

*filter_none*

## 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 ` |

*chevron_right*

*filter_none*

## 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 */` |

*chevron_right*

*filter_none*

## 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 ` `?> ` |

*chevron_right*

*filter_none*

**Output:**

3x + 4y = 24

## Recommended Posts:

- Given n line segments, find if any two segments intersect
- Represent a given set of points by the best possible straight line
- Length of the normal from origin on a straight line whose intercepts are given
- Area of triangle formed by the axes of co-ordinates and a given straight line
- Find X and Y intercepts of a line passing through the given points
- How to check if two given line segments intersect?
- Maximum possible intersection by moving centers of line segments
- Number of horizontal or vertical line segments to connect 3 points
- Reflection of a point about a line in C++
- Check whether the point (x, y) lies on a given line
- Perpendicular distance between a point and a Line in 2 D
- Program to delete a line given the line number from a file
- Shortest distance between a Line and a Point in a 3-D plane
- Find foot of perpendicular from a point in 2 D plane to a Line
- Section formula (Point that divides a line in given ratio)

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.