Find X and Y intercepts of a line passing through the given points

Given two points on a 2D plane, the task is to find the x – intercept and the y – intercept of a line passing through the given points.

Examples:

Input: points[][] = {{5, 2}, {2, 7}}
Output:
6.2
10.333333333333334



Input: points[][] = {{3, 2}, {2, 4}}
Output:
4.0
8.0

Approach:

  • Find the slope using the given points.
  • Put the value of the slope in the expression of the line i.e. y = mx + c.
  • Now find the value of c using the values of any of the given points in the equation y = mx + c
  • To find the x-intercept, put y = 0 in y = mx + c.
  • To find the y-intercept, put x = 0 in y = mx + c.

Below is the implementation of the above approach:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ implementation of the approach
#include <bits/stdc++.h>
using namespace std;
  
// Function to find the X and Y intercepts
// of the line passing through
// the given points
void getXandYintercept(int P[], int Q[])
{
    int a = P[1] - Q[1];
    int b = P[0] - Q[0];
  
    // Slope of the line
    double m = a / (b * 1.0);
   
    // y = mx + c in where c is unknown
    // Use any of the given point to find c
    int x = P[0];
    int y = P[1];
    double c = y - m * x;
  
    // For finding the x-intercept put y = 0
    y = 0;
    double r = (y - c) / (m * 1.0);
    cout << r << endl;
  
    // For finding the y-intercept put x = 0
    x = 0;
    y = m * x + c;
    printf("%.8f", c);
}
  
// Driver code
int main()
{
    int p1[] = {5, 2};
    int p2[] = {2, 7};
    getXandYintercept(p1, p2);
    return 0;
}
  
// This code is contributed by Mohit Kumar

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java implementation of the approach
class GFG
{
      
    // Function to find the X and Y intercepts 
    // of the line passing through 
    // the given points 
    static void getXandYintercept(int P[], 
                                  int Q[]) 
    
        int a = P[1] - Q[1]; 
        int b = P[0] - Q[0]; 
      
        // Slope of the line 
        double m = a / (b * 1.0); 
      
        // y = mx + c in where c is unknown 
        // Use any of the given point to find c 
        int x = P[0]; 
        int y = P[1]; 
        double c = y - m * x; 
      
        // For finding the x-intercept put y = 0 
        y = 0
        double r = (y - c) / (m * 1.0); 
        System.out.println(r); 
      
        // For finding the y-intercept put x = 0 
        x = 0
        y = (int)(m * x + c); 
        System.out.print(c); 
    
      
    // Driver code 
    public static void main (String[] args)
    
        int p1[] = {5, 2}; 
        int p2[] = {2, 7}; 
        getXandYintercept(p1, p2); 
    
}
  
// This code is contributed by kanugargng

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 implementation of the approach
  
# Function to find the X and Y intercepts 
# of the line passing through 
# the given points
def getXandYintercept(P, Q):
  
    a = P[1] - Q[1
    b = P[0] - Q[0]
      
    # Slope of the line
    m = a / b
      
    # y = mx + c in where c is unknown 
    # Use any of the given point to find c
    x = P[0]
    y = P[1]
    c = y-m * x
      
    # For finding the x-intercept put y = 0
    y = 0
    x =(y-c)/m
    print(x)
      
    # For finding the y-intercept put x = 0
    x = 0
    y = m * x + c
    print(y) 
  
# Driver code
p1 = [5, 2
p2 = [2, 7]
getXandYintercept(p1, p2)

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# implementation of the approach
using System;
  
class GFG
{
      
    // Function to find the X and Y intercepts 
    // of the line passing through 
    // the given points 
    static void getXandYintercept(int []P, 
                                  int []Q) 
    
        int a = P[1] - Q[1]; 
        int b = P[0] - Q[0]; 
      
        // Slope of the line 
        double m = a / (b * 1.0); 
      
        // y = mx + c in where c is unknown 
        // Use any of the given point to find c 
        int x = P[0]; 
        int y = P[1]; 
        double c = y - m * x; 
      
        // For finding the x-intercept put y = 0 
        y = 0; 
        double r = (y - c) / (m * 1.0); 
        Console.WriteLine(r); 
      
        // For finding the y-intercept put x = 0 
        x = 0; 
        y = (int)(m * x + c); 
        Console.WriteLine(c); 
    
      
    // Driver code 
    public static void Main ()
    
        int []p1 = {5, 2}; 
        int []p2 = {2, 7}; 
        getXandYintercept(p1, p2); 
    }
}
  
// This code is contributed by AnkitRai01

chevron_right


Output:

6.2
10.33333333333

Time Complexity: O(1)




My Personal Notes arrow_drop_up


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.