# 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
- 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
- Section formula (Point that divides a line in given ratio)
- Find foot of perpendicular from a point in 2 D plane to a Line
- Slope of the line parallel to the line with the given slope

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.