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 (x0, y0) 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: x0 = 4, y0 = 3
Output: 3x + 4y = 24
Input: x0 = 7, y0 = 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(x0, y0) bisects AB so,
x0 = (a + 0) / 2 i.e. a = 2x0
Similarly, y0 = (0 + b) / 2 i.e. b = 2y0
We know that the equation of a straight line in intercept form is,
x / a + y / b = 1
Here, a = 2x0 & b = 2y0
So, x / 2x0 + y / 2y0 = 1
or, x / x0 + y / y0 = 2
Therefore, x * y0 + y * x0 = 2 * x0 * y0
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 linevoid line(double x0, double y0){ double c = 2 * y0 * x0; cout << y0 << "x" << " + " << x0 << "y = " << c;}// Driver codeint main(){ double x0 = 4, y0 = 3; line(x0, y0); return 0;} |
Java
// Java implementation of the approachclass GFG{ // Function to print the equation// of the required linestatic void line(double x0, double y0){ double c = (int)(2 * y0 * x0); System.out.println(y0 + "x" + " + " + x0 + "y = " + c);}// Driver codepublic 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 linedef line(x0, y0): c = 2 * y0 * x0 print(y0, "x", "+", x0, "y=", c)# Driver codeif __name__ == '__main__': x0 = 4 y0 = 3 line(x0, y0) # This code is contributed by# Surendra_Gangwar |
C#
// C# implementation of the approachusing System;class GFG{ // Function to print the equation// of the required linestatic void line(double x0, double y0){ double c = (int)(2 * y0 * x0); Console.WriteLine(y0 + "x" + " + " + x0 + "y = " + c);}// Driver codepublic 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 linefunction line(x0 , y0){ var c = parseInt(2 * y0 * x0); document.write(y0 + "x" + " + " + x0 + "y = " + c);}// Driver codevar x0 = 4, y0 = 3;line(x0, y0);// This code is contributed by Amit Katiyar </script> |
3x + 4y = 24
Time Complexity: O(1)
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!




