Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Check if a line passes through the origin

  • Difficulty Level : Easy
  • Last Updated : 07 Apr, 2021

Given two coordinates of a line as (x1, y1) and (x2, y2), find if the line passing through these points also passes through origin or not.
 

Attention reader! All those who say programming isn't for kids, just haven't met the right mentors yet. Join the  Demo Class for First Step to Coding Coursespecifically designed for students of class 8 to 12. 

The students will get to learn more about the world of programming in these free classes which will definitely help them in making a wise career choice in the future.

Examples: 
 



Input : (x1, y1) = (10, 0)
        (x2, y2) = (20, 0)
Output : Yes
The line passing through these points
clearly passes through the origin as 
the line is x axis.

Input : (x1, y1) = (1, 28)
        (x2, y2) = (2, 56)
Output : Yes

 

Approach: Equation of a line passing through two points (x1, y1) and (x2, y2) is given by 
y-y1 = ((y2-y1) / (x2-x1))(x-x1) + c 
If line is also passing through origin, then c=0, so equation of line becomes 
y-y1 = ((y2-y1) / (x2-x1))(x-x1) 
Keeping x=0, y=0 in the above equation we get, 
x1(y2-y1) = y1(x2-x1) 
So above equation must be satisfied if any line passing through two coordinates (x1, y1) and (x2, y2) also passes through origin (0, 0).
 

C++




/* C++ program to find if line passing through
   two coordinates also passes through origin
   or not */
#include <bits/stdc++.h>
using namespace std;
 
bool checkOrigin(int x1, int y1, int x2, int y2)
{
   return (x1 * (y2 - y1) == y1 * (x2 - x1));
}
 
// Driver code
int main()
{
    if (checkOrigin(1, 28, 2, 56) == true)
      cout << "Yes";
    else
      cout << "No";
    return 0;
}

Java




// Java program to find if line passing through
// two coordinates also passes through origin
// or not
import java.io.*;
 
class GFG {
     
    static boolean checkOrigin(int x1, int y1,
                                       int x2, int y2)
    {
        return (x1 * (y2 - y1) == y1 * (x2 - x1));
    }
 
    // Driver code
    public static void main (String[] args)
    {
        if (checkOrigin(1, 28, 2, 56) == true)
            System.out.println("Yes");
        else
            System.out.println("No");
    }
}
 
// This code is contributed by Ajit.

Python3




# Python program to find if line
# passing through two coordinates
# also passes through origin or not
 
def checkOrigin(x1, y1, x2, y2):
    return (x1 * (y2 - y1) == y1 * (x2 - x1))
     
# Driver code
if (checkOrigin(1, 28, 2, 56) == True):
    print("Yes")
else:
    print("No")
     
# This code is contributed
# by Anant Agarwal.

C#




// C# program to find if line passing through
// two coordinates also passes through origin
// or not
using System;
 
class GFG {
 
    static bool checkOrigin(int x1, int y1,
                            int x2, int y2)
    {
        return (x1 * (y2 - y1) == y1 * (x2 - x1));
    }
 
    // Driver code
    public static void Main()
    {
        if (checkOrigin(1, 28, 2, 56) == true)
            Console.WriteLine("Yes");
        else
            Console.WriteLine("No");
    }
}
 
// This code is contributed by vt_m.

PHP




<?php
// PHP program to find if
// line passing through
// two coordinates also
// passes through origin
// or not
 
function checkOrigin($x1, $y1,
                     $x2, $y2)
{
    return ($x1 * ($y2 - $y1) ==
              $y1 * ($x2 - $x1));
}
 
// Driver code
if (checkOrigin(1, 28, 2, 56) == true)
    echo("Yes");
else
    echo("No");
 
// This code is contributed by Ajit.
?>

Javascript




<script>
 
// JavaScript program to find if line passing through
// two coordinates also passes through origin
// or not
 
    function checkOrigin(x1, y1, x2, y2)
    {
        return (x1 * (y2 - y1) == y1 * (x2 - x1));
    }
  
 
// Driver Code
 
        if (checkOrigin(1, 28, 2, 56) == true)
            document.write("Yes");
        else
            document.write("No");
            
           // This code is contributed by chinmoy1997pal.
</script>
Output: 
Yes

 




My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!