# Check if a line passes through the origin

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

 ` `

## Javascript

 ``

Output:

`Yes`

Time Complexity: O(1)
Auxiliary Space: O(1)