In short

The angle \phi between two lines with slopes m_1 and m_2 is given by \tan\phi = \left|\dfrac{m_1 - m_2}{1 + m_1 m_2}\right|. Two lines are parallel when m_1 = m_2 and perpendicular when m_1 m_2 = -1. Three lines are concurrent (pass through one point) when the determinant of their coefficients vanishes.

Stand at a crossroads in any Indian city. Two roads meet at some angle — maybe 30°, maybe 90°, maybe a chaotic 47°. You can see the angle with your eyes, but can you compute it from the equations of the two roads?

Here is a concrete version of the question. Take two lines:

\ell_1:\; y = 2x + 1 \qquad\text{and}\qquad \ell_2:\; y = -\frac{1}{3}x + 4

They cross somewhere. What is the angle at which they cross?

You know the slopes: m_1 = 2 and m_2 = -1/3. You know the angles each line makes with the x-axis: \theta_1 = \arctan 2 \approx 63.43° and \theta_2 = \arctan(-1/3) \approx 180° - 18.43° = 161.57°. The angle between the two lines is the difference of these inclinations — but which difference, and what about the sign?

The trick is to use a single formula that handles all of this cleanly.

The angle between two lines

Suppose two lines have slopes m_1 and m_2, with inclinations \theta_1 and \theta_2 respectively. The angle \phi between them — the acute angle at their intersection — satisfies

\tan\phi = \left|\frac{m_1 - m_2}{1 + m_1 m_2}\right|

Deriving this. The inclinations \theta_1 and \theta_2 are the angles each line makes with the positive x-axis. The angle between the two lines is \theta_1 - \theta_2 (or \theta_2 - \theta_1, depending on which is larger). So

\tan(\theta_1 - \theta_2) = \frac{\tan\theta_1 - \tan\theta_2}{1 + \tan\theta_1 \cdot \tan\theta_2} = \frac{m_1 - m_2}{1 + m_1 m_2}

Why: this is the tangent subtraction formula from trigonometry. The \tan of a difference of angles can be expressed in terms of the \tan of each individual angle.

The expression \theta_1 - \theta_2 might be the acute angle or the obtuse angle between the two lines. Two intersecting lines create two pairs of vertically opposite angles: an acute pair and an obtuse pair. Taking the absolute value guarantees you get \tan of the acute angle:

\tan\phi = \left|\frac{m_1 - m_2}{1 + m_1 m_2}\right|

Why: the absolute value ensures \tan\phi \geq 0, which places \phi in [0°, 90°] — the acute angle.

Then \phi = \arctan\left|\dfrac{m_1 - m_2}{1 + m_1 m_2}\right|.

The lines $y = 2x + 1$ and $y = -\frac{1}{3}x + 4$ meet at approximately $(1.29, 3.57)$. The acute angle between them is $\phi = \arctan\!\left|\frac{2 - (-1/3)}{1 + 2 \cdot (-1/3)}\right| = \arctan\!\left|\frac{7/3}{1/3}\right| = \arctan 7 \approx 81.87°$. They are neither parallel nor perpendicular — just two lines meeting at a steep angle.

Let's verify the example. With m_1 = 2 and m_2 = -1/3:

\frac{m_1 - m_2}{1 + m_1 m_2} = \frac{2 - (-1/3)}{1 + 2 \cdot (-1/3)} = \frac{2 + 1/3}{1 - 2/3} = \frac{7/3}{1/3} = 7

So \tan\phi = |7| = 7 and \phi = \arctan 7 \approx 81.87°. The two lines meet at nearly a right angle — but not quite.

Angle between two lines

If two lines have slopes m_1 and m_2 (with 1 + m_1 m_2 \neq 0), the acute angle \phi between them satisfies

\tan\phi = \left|\frac{m_1 - m_2}{1 + m_1 m_2}\right|

If 1 + m_1 m_2 = 0, the lines are perpendicular and \phi = 90°.

What if a line is vertical?

If one of the lines is vertical (no finite slope), the formula as written does not apply — you cannot plug in an undefined m. But the situation is simple: a vertical line has inclination 90°, so the angle between a vertical line and a line with inclination \theta is |90° - \theta|.

Using general-form coefficients

When the lines are given in general form A_1x + B_1y + C_1 = 0 and A_2x + B_2y + C_2 = 0, their slopes are m_1 = -A_1/B_1 and m_2 = -A_2/B_2. Substituting and simplifying:

\tan\phi = \left|\frac{A_1 B_2 - A_2 B_1}{A_1 A_2 + B_1 B_2}\right|

Why: substitute m_1 = -A_1/B_1 and m_2 = -A_2/B_2 into the slope formula, then simplify. The B_1 B_2 denominators cancel, and you are left with this clean expression involving cross-products and dot-products of the coefficient pairs.

This form is more general — it works even when one of the B values is zero (vertical line), as long as you check the denominator.

Condition for parallel lines

Two lines are parallel when they never meet — they have the same direction, the same tilt, the same slope.

From the angle formula: if m_1 = m_2, then the numerator m_1 - m_2 = 0, so \tan\phi = 0 and \phi = 0°. No angle between them — they point in the same direction.

Condition for parallel lines

Two lines with slopes m_1 and m_2 are parallel if and only if

m_1 = m_2

In general form: A_1x + B_1y + C_1 = 0 and A_2x + B_2y + C_2 = 0 are parallel if and only if

\frac{A_1}{A_2} = \frac{B_1}{B_2} \qquad (\text{with } C_1/C_2 \text{ different, for distinct lines})

or equivalently, A_1 B_2 - A_2 B_1 = 0.

The condition A_1 B_2 = A_2 B_1 says the normal vectors (A_1, B_1) and (A_2, B_2) are proportional — they point in the same (or opposite) direction. Two lines with proportional normals are parallel. This makes geometric sense: if the perpendicular directions are the same, the lines themselves must be going the same way.

Quick check. Are 3x + 4y - 7 = 0 and 6x + 8y + 5 = 0 parallel? The ratios are A_1/A_2 = 3/6 = 1/2 and B_1/B_2 = 4/8 = 1/2. Equal — so yes, parallel. And C_1/C_2 = -7/5, which is different from 1/2, so they are distinct parallel lines, not the same line written twice.

Two parallel lines: $3x + 4y - 7 = 0$ (black) and $6x + 8y + 5 = 0$ (red). Same slope ($-3/4$), different y-intercepts. They never meet, no matter how far you extend them.

Condition for perpendicular lines

Two lines are perpendicular when they meet at 90°. From the angle formula: when 1 + m_1 m_2 = 0, the denominator vanishes and \tan\phi is undefined — which happens exactly when \phi = 90°.

Condition for perpendicular lines

Two lines with slopes m_1 and m_2 are perpendicular if and only if

m_1 \cdot m_2 = -1

In general form: A_1x + B_1y + C_1 = 0 and A_2x + B_2y + C_2 = 0 are perpendicular if and only if

A_1 A_2 + B_1 B_2 = 0

The general-form condition A_1 A_2 + B_1 B_2 = 0 says the dot product of the normal vectors is zero — the two normals are perpendicular to each other. If the perpendicular directions are at right angles, the lines themselves are at right angles. The geometry is direct.

Why m_1 m_2 = -1? Here is another way to see it. If one line has slope m_1, it rises m_1 units for every 1 unit to the right. A line perpendicular to it would rise 1 unit for every m_1 units to the left — that is, its slope is -1/m_1. So m_2 = -1/m_1 and m_1 m_2 = -1.

Quick check. Are 2x - 5y + 3 = 0 and 5x + 2y - 7 = 0 perpendicular? Check: A_1 A_2 + B_1 B_2 = 2 \cdot 5 + (-5) \cdot 2 = 10 - 10 = 0. Yes, perpendicular. The slopes are m_1 = 2/5 and m_2 = -5/2, and indeed (2/5)(-5/2) = -1.

A useful mnemonic. To construct a line perpendicular to Ax + By + C = 0, swap A and B and flip one sign: the perpendicular direction has coefficients Bx - Ay + C' = 0 (with C' determined by a point it passes through). For example, a line perpendicular to 3x + 4y - 7 = 0 has the form 4x - 3y + k = 0 for some constant k. This follows directly from the condition A_1 A_2 + B_1 B_2 = 0: replacing (A, B) with (B, -A) satisfies AB + B(-A) = 0.

Two perpendicular lines: $2x - 5y + 3 = 0$ (black, slope $2/5$) and $5x + 2y - 7 = 0$ (red, slope $-5/2$). They meet at $(1, 1)$ at a perfect right angle. The product of slopes is $-1$.

The special case of vertical and horizontal

A vertical line (x = k) and a horizontal line (y = c) are perpendicular. But the m_1 m_2 = -1 test does not apply, because the vertical line has no slope. Use the general-form test instead: A_1 A_2 + B_1 B_2 = 1 \cdot 0 + 0 \cdot 1 = 0. The test works.

This is another reason to prefer the general-form conditions in any systematic work: they handle all cases uniformly.

Concurrent lines

Three or more lines are concurrent if they all pass through a single point. Given three lines

\ell_1:\; A_1x + B_1y + C_1 = 0
\ell_2:\; A_2x + B_2y + C_2 = 0
\ell_3:\; A_3x + B_3y + C_3 = 0

how do you check whether they are concurrent without finding the intersection point?

The direct approach. Find where \ell_1 and \ell_2 meet (by solving two simultaneous equations), then check whether that point satisfies \ell_3's equation. This always works, but it involves solving a system first.

The determinant test. There is a neater criterion. Three lines are concurrent if and only if

\begin{vmatrix} A_1 & B_1 & C_1 \\ A_2 & B_2 & C_2 \\ A_3 & B_3 & C_3 \end{vmatrix} = 0

Condition for concurrency

Three lines A_ix + B_iy + C_i = 0 (for i = 1, 2, 3) are concurrent if and only if

\begin{vmatrix} A_1 & B_1 & C_1 \\ A_2 & B_2 & C_2 \\ A_3 & B_3 & C_3 \end{vmatrix} = 0

Why does this work? If the three lines are concurrent, they meet at a single point (x_0, y_0). Then

A_1 x_0 + B_1 y_0 + C_1 = 0
A_2 x_0 + B_2 y_0 + C_2 = 0
A_3 x_0 + B_3 y_0 + C_3 = 0

This is a system of three linear equations in the two "unknowns" x_0 and y_0 (and the constant 1). For a system with more equations than unknowns to have a solution, the equations must be dependent — one must be a linear combination of the other two. The determinant of the coefficient matrix is zero precisely when this dependence holds.

Why: the 3 \times 3 determinant being zero means the three row-vectors (A_i, B_i, C_i) are linearly dependent — one of the equations can be derived from the other two. Geometrically, the third line is "forced" to pass through the same intersection point as the first two.

Alternatively, if you expand the determinant along the third row:

A_3(B_1 C_2 - B_2 C_1) - B_3(A_1 C_2 - A_2 C_1) + C_3(A_1 B_2 - A_2 B_1) = 0

The expression A_1 B_2 - A_2 B_1 in the last term is the same quantity that appeared in the parallelism condition. When it is non-zero (the first two lines are not parallel), you can solve for their intersection point using Cramer's rule and then verify that \ell_3 passes through it — which is exactly what the determinant condition is checking in one shot.

A quick example of concurrent lines. Consider the three medians of a triangle. In coordinate geometry, you can verify that the three medians of any triangle always pass through a single point — the centroid. Take a triangle with vertices (0, 0), (6, 0), (0, 8). The midpoints of the sides are (3, 0), (3, 4), and (0, 4). The medians are the lines from each vertex to the midpoint of the opposite side:

The determinant is

\begin{vmatrix} 4 & -3 & 0 \\ 2 & 3 & -12 \\ 8 & 3 & -24 \end{vmatrix} = 4(3 \cdot (-24) - (-12) \cdot 3) - (-3)(2 \cdot (-24) - (-12) \cdot 8) + 0
= 4(-72 + 36) + 3(-48 + 96) = 4(-36) + 3(48) = -144 + 144 = 0

Zero — the three medians are concurrent. Their common point is the centroid (2, 8/3).

The three medians of a triangle with vertices $(0,0)$, $(6,0)$, and $(0,8)$. All three medians pass through the centroid $G = (2, 8/3)$ — confirming concurrency. The determinant of their equations is zero.

Worked examples

Example 1: Finding the angle between two lines given in general form

Find the acute angle between the lines 3x - 4y + 7 = 0 and 4x + 3y - 5 = 0.

Step 1. Identify the coefficients. For \ell_1: A_1 = 3, B_1 = -4. For \ell_2: A_2 = 4, B_2 = 3.

Why: the general-form formula for the angle uses A and B directly, so read them off.

Step 2. Compute A_1 A_2 + B_1 B_2.

A_1 A_2 + B_1 B_2 = 3 \times 4 + (-4) \times 3 = 12 - 12 = 0

Why: this is the denominator of the \tan\phi formula. If it is zero, the lines are perpendicular.

Step 3. Since the denominator is zero, \tan\phi is undefined, which means \phi = 90°.

Why: an undefined tangent corresponds to a right angle. The perpendicularity condition A_1 A_2 + B_1 B_2 = 0 is satisfied.

Step 4. Cross-check with slopes. m_1 = -A_1/B_1 = -3/(-4) = 3/4. m_2 = -A_2/B_2 = -4/3. Product: (3/4)(-4/3) = -1. Confirmed perpendicular.

Why: the slope product test m_1 m_2 = -1 gives the same answer as the general-form test. Two independent checks.

Result: The lines are perpendicular — the acute angle between them is 90°.

The lines $3x - 4y + 7 = 0$ (slope $3/4$) and $4x + 3y - 5 = 0$ (slope $-4/3$) are perpendicular. Notice how one line's slope is the negative reciprocal of the other's — the defining signature of perpendicularity.

The two slopes 3/4 and -4/3 are negative reciprocals of each other. Whenever you see a slope and its negative reciprocal, you are looking at perpendicular lines.

Example 2: Testing three lines for concurrency

Determine whether the lines 2x + 3y - 5 = 0, 3x - 2y + 1 = 0, and x + 5y - 6 = 0 are concurrent. If they are, find the point of concurrency.

Step 1. Set up the determinant.

\begin{vmatrix} 2 & 3 & -5 \\ 3 & -2 & 1 \\ 1 & 5 & -6 \end{vmatrix}

Why: the rows are the coefficients (A_i, B_i, C_i) of each line. The determinant being zero is necessary and sufficient for concurrency.

Step 2. Expand along the first row.

= 2\begin{vmatrix} -2 & 1 \\ 5 & -6 \end{vmatrix} - 3\begin{vmatrix} 3 & 1 \\ 1 & -6 \end{vmatrix} + (-5)\begin{vmatrix} 3 & -2 \\ 1 & 5 \end{vmatrix}
= 2[(-2)(-6) - (1)(5)] - 3[(3)(-6) - (1)(1)] + (-5)[(3)(5) - (-2)(1)]
= 2[12 - 5] - 3[-18 - 1] - 5[15 + 2]
= 2(7) - 3(-19) - 5(17)
= 14 + 57 - 85 = -14

Why: expand using cofactors. Each 2 \times 2 determinant is ad - bc.

Step 3. The determinant is -14 \neq 0, so the three lines are not concurrent.

Why: a non-zero determinant means the three equations are linearly independent — no single point satisfies all three simultaneously.

Step 4. Verify by finding where two of them meet. Solve 2x + 3y = 5 and 3x - 2y = -1 simultaneously. Multiply the first by 2 and the second by 3: 4x + 6y = 10 and 9x - 6y = -3. Add: 13x = 7, so x = 7/13. Then y = (5 - 2 \cdot 7/13)/3 = (65/13 - 14/13)/3 = 51/39 = 17/13.

Check whether (7/13, \, 17/13) satisfies the third line: x + 5y - 6 = 7/13 + 85/13 - 6 = 92/13 - 78/13 = 14/13 \neq 0.

Why: the point where \ell_1 and \ell_2 meet does not lie on \ell_3, confirming the lines are not concurrent. The residual 14/13 matches the determinant value (up to sign and scaling).

Result: The three lines are not concurrent. The determinant is -14 \neq 0, and the intersection of the first two lines misses the third by a residual of 14/13.

The three lines form a small triangle — they meet pairwise at three different points, not at one common point. Non-concurrent lines always form a triangle (unless two of them are parallel).

The picture shows it plainly: the three intersection points are close but distinct. If the determinant had been zero, those three points would have collapsed into one.

Common confusions

Going deeper

If you came here to learn how to find the angle between two lines and check for parallelism, perpendicularity, or concurrency, you have all of that. The rest is for readers who want the vector perspective and a connection to linear algebra.

The vector viewpoint

Everything in this article becomes cleaner if you think in terms of direction vectors.

A line with general equation Ax + By + C = 0 has direction vector \vec{d} = (-B, A) and normal vector \vec{n} = (A, B). Two lines are:

The angle between them is

\cos\phi = \frac{|\vec{d}_1 \cdot \vec{d}_2|}{|\vec{d}_1|\,|\vec{d}_2|} = \frac{|A_1 A_2 + B_1 B_2|}{\sqrt{A_1^2 + B_1^2}\,\sqrt{A_2^2 + B_2^2}}

This is the standard formula for the angle between two vectors, and it encompasses the tangent formula as a special case. The tangent form is handier for computation (especially when the answer simplifies), but the cosine form reveals the underlying linear algebra.

Concurrency as linear dependence

The determinant condition for concurrency is really saying: the three equations A_ix + B_iy + C_i = 0 form a homogeneous system in the "unknowns" (x, y, 1). A non-trivial solution exists if and only if the determinant of the coefficient matrix is zero — that is the standard criterion from linear algebra.

This viewpoint generalises. If you have n lines in the plane, asking whether they are all concurrent is asking whether the n \times 3 coefficient matrix has rank at most 2. For three lines, rank \leq 2 means the 3 \times 3 determinant is zero. For four or more lines, you need to check that every 3 \times 3 minor of the matrix has zero determinant.

Family of concurrent lines

A useful technique in JEE problems: if two lines L_1 = 0 and L_2 = 0 meet at a point P, then the equation

L_1 + \lambda\, L_2 = 0

represents every line through P (except L_2 itself, which corresponds to \lambda = \infty). This is the family of lines through a fixed point. By choosing \lambda to impose an extra condition — say, "passes through the origin" or "has slope 2" — you can find a specific line from the family without ever computing P's coordinates.

For instance, the lines 2x + 3y - 5 = 0 and x - y + 1 = 0 intersect at some point. The family of lines through that point is (2x + 3y - 5) + \lambda(x - y + 1) = 0, which expands to (2 + \lambda)x + (3 - \lambda)y + (-5 + \lambda) = 0. To find the member of this family that passes through the origin, set x = 0, y = 0: -5 + \lambda = 0, so \lambda = 5. The line is 7x - 2y = 0, or y = 7x/2. You never needed to find the intersection point itself.

Where this leads next

The angle formula and the parallelism/perpendicularity conditions are the toolkit for the next set of topics in straight-line geometry.