Why some curves refuse to be written as y = f(x)
The circle x² + y² = 25 is not a function. Every x strictly between −5 and 5 has two matching y values, so no single formula y = f(x) describes the whole curve. You can split it into an upper half and a lower half, differentiate each separately, and stitch the answers together — but that is fiddly, and it fails outright for curves like the folium x³ + y³ = 6xy, which cannot be solved for y in elementary terms at all.
Implicit differentiation sidesteps the problem. You assume that near the point you care about the curve is the graph of some function y(x), even though you cannot write that function down. Then you differentiate the whole equation with respect to x, treating y as a function of x and letting the chain rule attach a dy/dx to every y term. What comes out is a linear equation in dy/dx, and you solve it.
The assumption is not free. The implicit function theorem says it is legitimate exactly where F is continuously differentiable and F_y is non-zero. That condition is the mathematical content of the vertical-tangent notice this calculator prints: where F_y vanishes, y genuinely is not a function of x nearby, and dy/dx has no finite value.
Two routes to the same answer, and why this one is cleaner
The classroom route. Differentiate both sides term by term, writing y′ every time the chain rule hits a y. For the circle: 2x + 2y·y′ = 0, so y′ = −x/y. This is what your instructor wants to see on paper, and it is what the steps panel reproduces in effect.
The partial-derivative route. Move everything to one side to get F(x, y) = 0, compute the two partial derivatives, and use dy/dx = −F_x/F_y. For the circle, F = x² + y² − 25, F_x = 2x, F_y = 2y, and dy/dx = −2x/2y = −x/y. Identical answer, fewer places to lose a term.
The two routes are the same calculation. Differentiating F(x, y(x)) = 0 with the multivariable chain rule gives F_x + F_y·(dy/dx) = 0, and rearranging that single line produces the formula. The advantage of the partial form is mechanical: each partial derivative is an ordinary one-variable differentiation with the other letter frozen, so you can use the plain rules from the derivative calculator twice and never juggle y′ symbols mid-expression.
It also generalises. The same expression is the two-dimensional case of the gradient being perpendicular to a level curve, which is why the gradient vector (F_x, F_y) points along the normal direction while (−F_y, F_x) points along the tangent.
Worked example: the circle x² + y² = 25 at the point (3, 4)
First confirm the point is on the curve: 3² + 4² = 9 + 16 = 25. It is, so the residual output reads zero.
- Move everything to one side.
F(x, y) = x² + y² − 25. - Differentiate with respect to x, holding y constant.
F_x = 2x, so at the pointF_x = 2(3) = 6. - Differentiate with respect to y, holding x constant.
F_y = 2y, so at the pointF_y = 2(4) = 8. - Apply the formula.
dy/dx = −F_x/F_y = −6/8 = −0.75. - Sanity-check the geometry. The radius from the origin to (3, 4) has slope
4/3. A tangent to a circle is perpendicular to the radius, so its slope must be−3/4 = −0.75. It matches. - Normal slope.
−1/(−0.75) = 1.3333, which is4/3— the radius, exactly as expected.
Now take the same circle at (4, 3). Then F_x = 8, F_y = 6, and dy/dx = −8/6 = −1.3333. The tangent is steeper because the point sits closer to the horizontal extreme of the circle, and at (5, 0) it stops existing altogether: F_y = 0 there, and the tangent is the vertical line x = 5.
For a curve you could not have solved by hand, try the folium x³ + y³ = 6xy at (3, 3). Here F = x³ + y³ − 6xy, so F_x = 3x² − 6y = 27 − 18 = 9 and F_y = 3y² − 6x = 27 − 18 = 9, giving dy/dx = −9/9 = −1. A slope of −1 is perpendicular to the line y = x, which is the folium's axis of symmetry — and (3, 3) is exactly where the curve meets that axis, so the tangent there has to be perpendicular to it.
How to read each output
The residual is the first thing to check. It reports F(x₀, y₀), which must be zero for a point on the curve. If it is not, the calculator still returns a slope — but that is the slope of the level curve F = residual passing through your point, not of the curve you typed. This is the most common way to get a plausible-looking wrong answer here, so the calculator warns explicitly.
A blank slope means a vertical tangent. When F_y = 0 and F_x is not zero, the tangent line is vertical and no finite slope exists. That is not a failure: it is a real geometric feature, and it happens at the leftmost and rightmost points of any closed curve. In that situation x is a perfectly good function of y, and dx/dy = −F_y/F_x = 0.
When both partials vanish, the point is singular. F_x = F_y = 0 means the implicit function theorem gives you nothing at all — the curve may cross itself, form a cusp, or reduce to an isolated point. The folium at the origin is the standard example: both partials are zero, and the curve genuinely has two branches through that point with two different tangents.
The normal slope is the negative reciprocal. It is undefined when the tangent is horizontal, for the mirror-image reason that the tangent slope is undefined when the tangent is vertical.
Standard implicit curves and their derivatives
| Equation | F_x | F_y | dy/dx | Vertical tangent where |
|---|---|---|---|---|
x² + y² = r² | 2x | 2y | −x/y | y = 0 |
x²/a² + y²/b² = 1 | 2x/a² | 2y/b² | −b²x/(a²y) | y = 0 |
xy = k | y | x | −y/x | x = 0 |
x² − y² = 1 | 2x | −2y | x/y | y = 0 |
x³ + y³ = 6xy | 3x² − 6y | 3y² − 6x | (6y − 3x²)/(3y² − 6x) | y² = 2x |
sin(x) + y = xy | cos x − y | 1 − x | (y − cos x)/(1 − x) | x = 1 |
The vertical-tangent column is the solution set of F_y = 0. Points where F_x and F_y both vanish are singular, and none of these formulas applies there.
Where implicit differentiation goes wrong
- Forgetting the chain rule on y terms. Differentiating
y²with respect to x gives2y·y′, not2y. Every missingy′silently changes the answer. - Using a point that is not on the curve. The formula returns a number for any point in the plane, but it only means what you think it means when the residual is zero. Check it every time.
- Reporting a slope where the tangent is vertical. Dividing by
F_y = 0produces infinity or a spurious huge number in hand work. The correct statement is that dy/dx does not exist and dx/dy is zero. - Assuming one x value determines the branch. A circle has two points for most x values, with slopes of opposite sign.
(3, 4)gives −0.75 and(3, −4)gives +0.75. The point, not the x value, selects the branch. - Treating a singular point as ordinary. When both partials are zero the implicit function theorem does not apply, and any slope you compute there is meaningless. Look for self-intersections and cusps.
- Losing the minus sign in −F_x/F_y. It comes from moving
F_xacross the equals sign inF_x + F_y·y′ = 0. Drop it and every slope you produce points the wrong way.
Second derivatives, related rates and what this tool leaves out
This calculator returns the first derivative only. To get d²y/dx² implicitly you differentiate dy/dx = −F_x/F_y again, remembering that y is still a function of x, then substitute the first derivative back in. For the circle that yields the tidy result d²y/dx² = −25/y³, negative on the upper semicircle and positive on the lower one — concave down above the axis and concave up below it, which is what a circle looks like. The second derivative calculator handles the explicit case.
Related-rates problems are the same machinery with time as the hidden variable. If a ladder of fixed length leans against a wall, x² + y² = L² holds at every instant, and differentiating with respect to t gives 2x·(dx/dt) + 2y·(dy/dt) = 0. That is implicit differentiation with t as the parameter rather than x, and the algebra is identical.
What the calculator will not do is solve the equation for y, find the points on the curve for a given x, or plot the curve. Finding those points is a root-finding job — bisection or Newton's method applied to F(x₀, y) = 0 in y will locate them. It also has no rule for functions outside the standard elementary library, and it says so rather than guessing.
