Multivariable Limit Calculator (Path Checker)
Enter a function f(x, y) and a target point (a, b). This numeric path checker evaluates f along several approach paths at shrinking distances and tells you whether the limit fails outright or probably has a value. Free, no account, and it shows every path it tried.
This is a numeric path checker and estimator, not a symbolic solver or a proof. Finding two paths that disagree is a valid disproof, so a failure result is definitive. But agreement across the sampled paths only suggests a value; it never proves one, because infinitely many other paths exist. Confirm any clean result by hand with the squeeze theorem or polar bounds.
Verdict
The limit does NOT exist.
- Estimated limit value
- n/a
- Target point (a, b)
- (0, 0)
Along the x-axis (y held at b) the value is 0, but along the line slope 1 (y = b plus t) it is 0.5. Two paths give different limits, so the limit does not exist.
Value along each approach path
| Approach path | Limiting value |
|---|---|
| x-axis (y held at b) | 0 |
| y-axis (x held at a) | 0 |
| line slope 1 (y = b plus t) | 0.5 |
| line slope 2 (y = b plus 2t) | 0.4 |
| parabola (y = b plus t squared) | 0 |
| cubic (y = b plus t cubed) | 0 |
A failure verdict is definitive (two paths with different values disprove a single limit). An agreement verdict is suggestive only and should be confirmed analytically. Paths are sampled at t = 0.1, 0.01, 0.001, 0.0001. Tool slug: multivariable-limit-calculator.
This tool checks whether a limit of a function of two variables exists as the point (x, y) approaches a target (a, b). A limit is the value the function heads toward near that point. The tool walks toward the point along six set paths, reads off the value each path settles on, then gives a verdict and a per-path table. It runs in your browser, so there’s no account and no paywall. One thing to be clear about up front: this is a numeric path checker, not a symbolic solver. It can prove a limit fails, but it can only suggest that a limit holds.
How to use this calculator
- Type your function f(x, y) as a text expression, for example
(x*y)/(x^2+y^2). Use x and y, the operators+ - * / ^for powers, parentheses, the constants pi and e, and functions like sin, cos, exp, ln, log, sqrt, and abs. - Set the target point. Enter the x value as a, so x heads toward a, and the y value as b, so y heads toward b. The default point is the origin (0, 0).
- Adjust the agreement tolerance if you want. It controls how close two path values must be to count as equal. The default is 0.0001.
- Select Calculate. The tool marches toward the point along six fixed paths at shrinking step sizes and reads off each path’s settled value.
- Read the verdict and the per-path table. If two paths settle on different values, the tool names them as proof the limit fails. If every path agrees, it reports the common estimate and reminds you that path agreement is suggestive, not a proof.
How it works
A limit of a function of two variables, written lim f(x, y) as (x, y) approaches (a, b), exists only if f heads toward the same number no matter how the point creeps toward (a, b). A single-variable limit has just a left side and a right side. A two-variable limit has infinitely many directions and curves of approach. That fact powers a simple, rigorous test taught in every Calculus III course: the two-path test. If you can find two different paths to the point along which f tends to two different values, then the limit does not exist. This idea appears in Paul’s Online Math Notes on Calculus III limits, the Ohio State University Ximera notes on evaluating multivariable limits, and APEX Calculus on limits and continuity of multivariable functions.
This calculator automates that idea numerically. You type your function and your target point, and the tool marches toward the point along six set paths. It uses the x-axis with y held at b, the y-axis with x held at a, a line of slope 1, a line of slope 2, a parabola shaped like y = b + (x minus a) squared, and a cubic shaped like y = b + (x minus a) cubed. The two curved paths matter: some functions agree along every straight line yet split apart on a parabola or a cubic, and the line-only paths would miss them. On each path the tool plugs in shrinking step sizes, t = 0.1, then 0.01, 0.001, and 0.0001, and watches the value the path settles on.
It then compares those settled values. If two paths disagree by more than your tolerance, the tool reports that the limit does not exist and names the two paths and the value each gave. That is a definitive answer, because two paths with different values cannot both be the one limit. If every defined path settles on the same value, the tool reports that the limit likely exists and equals that value. Here you need care: agreement across these sample paths is strong evidence, but it is not a proof. Infinitely many other paths exist that the tool never tried. To actually prove a two-variable limit exists, you still need an analytic argument such as the squeeze theorem or a bound in polar coordinates. Sometimes the tool returns inconclusive instead. That happens when too few paths are defined near the point, when the values mix finite and divergent results, or when the samples never settle down. In short, this is a numeric path checker and estimator. It is strong at catching limits that fail and at guessing the value when they hold, but a likely-exists result should be confirmed by hand.
Examples
These cases match what the calculator returns, so you can check your own setup against them. The first two are classic non-existence problems, and the third is a limit that does hold.
If you enter f(x, y) = (x*y)/(x^2+y^2) at the origin (0, 0), the tool reports that the limit does not exist. Along the x-axis the value is 0, and along the y-axis it is also 0, but along the line of slope 1 the function equals (x times x) divided by (x squared plus x squared), which is 1/2. Two paths give different values, 0 and 0.5, so there is no single limit. This is the textbook counterexample, noted in Paul’s Online Math Notes and the Wikipedia article on limits of a function.
If you enter f(x, y) = (x^2 - y^2)/(x^2 + y^2) at the origin, the tool again reports that the limit does not exist. Along the x-axis the value is 1, because the function reduces to x squared over x squared. Along the y-axis it is -1, because the function reduces to minus y squared over y squared. The two axes alone give two different values, so the limit fails.
If you enter f(x, y) = (x^2 * y)/(x^2 + y^2) at the origin, the tool reports that the limit likely exists and equals about 0. Every sampled path settles on 0, so the numeric evidence points to a limit of 0. The true limit really is 0, which you can prove with the squeeze theorem since the size of this function stays below the size of y, and y goes to 0. The agreement across paths is consistent with that, but the agreement by itself is suggestive, not a proof.
How the two-path test proves a limit does NOT exist
The tool automates one clean piece of logic, and it helps to see it laid out in three steps (OpenStax Calculus Volume 3, Limits and Continuity; LibreTexts, Limits and Continuity).
- A limit must give one value along every approach to (a, b). If lim f(x, y) as (x, y) approaches (a, b) is some number L, then f has to head toward that same L no matter which path you take into the point.
- So two paths with different values is a complete counterexample. If one path heads toward L1 and another heads toward L2, and L1 is not equal to L2, the two cannot both be the single limit. The function cannot settle on one value, so no limit exists.
- One counterexample is enough. You do not have to check every path to disprove a limit. A single pair of disagreeing paths ends the question.
Worked on the classic case, f(x, y) = (x*y)/(x^2+y^2) at (0, 0): along the x-axis (y = 0) the function is 0, and along the y-axis (x = 0) it is also 0, but along the line y = x it equals (x times x) divided by (x squared plus x squared), which is 1/2. The x-axis heads toward 0 and the line y = x heads toward 1/2. Those two paths disagree, so the limit does not exist. That is the whole disproof, and it is exactly what the tool reports when it names two paths and their values.
Common approach paths to try (and what each one catches)
The calculator marches toward (a, b) along six fixed paths, each one written with a real parameter t that shrinks to 0. The set is built so that horizontal, vertical, sloped, and curved approaches are all covered, which is usually enough to expose a missing limit (OpenStax Calculus Volume 3, Limits and Continuity; Wikipedia, Multivariable calculus).
| Path | Parametrization (t to 0) | What it catches |
|---|---|---|
| x-axis | x = a + t, y = b | Disagreement between the horizontal approach and other paths |
| y-axis | x = a, y = b + t | Disagreement between the vertical approach and the x-axis |
| Line, slope 1 | x = a + t, y = b + t | Limits that depend on the line’s slope |
| Line, slope 2 | x = a + t, y = b + 2t | A second slope, so a slope-dependent limit shows up |
| Parabola | x = a + t, y = b + t^2 | Curved-path values that every straight line misses |
| Cubic | x = a + t, y = b + t^3 | Curved-path values that the lines and the parabola miss |
Polynomial-quotient limits often break first on a curved path rather than a line. The function (x^2y)/(x^4+y^2) at (0, 0) heads toward 0 along every straight line and along both axes, so the line paths alone would suggest the limit exists. The parabola y = x^2 heads toward 1/2 instead, so the parabola is the path that catches the disagreement (Wikipedia, Multivariable calculus). One degree higher, (x^3y)/(x^6+y^2) at (0, 0) heads toward 0 along the lines and the parabola, and only the cubic y = x^3 heads toward 1/2, which is why the cubic path earns its place in the set.
Why a numeric path-checker can disprove but never prove existence
The tool returns two kinds of verdict, and they carry very different weight. Knowing which is which keeps you from over-claiming a result (OpenStax Calculus Volume 3, Limits and Continuity; Wikipedia, Multivariable calculus).
A does-not-exist verdict is definitive. It rests on two paths that head toward different values, and that is a valid disproof on its own. You can trust it and move on. A likely-exists verdict is only suggestive. The tool checked six paths and they all agreed, but infinitely many other paths remain untested, and a hidden one could still disagree. Agreement is good evidence that the limit holds, not a guarantee.
So trust the tool to settle non-existence, and treat a likely-exists result as a strong hint that tells you which value to aim for. When you need the limit confirmed, switch to an analytic proof. This is also where the tool differs from a symbolic computer algebra system: a symbolic engine can return a closed-form claim that the limit equals a value, while this numeric checker only samples paths and reports what they show.
Use the tool’s verdict this way:
- Trust does-not-exist as a final answer. Two disagreeing paths is a complete proof, so you do not need to do more.
- Treat likely-exists as a guess to confirm. Take the reported value as your target, then prove it by hand with the squeeze theorem or polar coordinates.
Proving the limit really exists: squeeze theorem and polar coordinates
When the tool reports likely-exists, the by-hand step that follows turns the hint into a proof. There are two standard tools for it.
The squeeze theorem bounds the size of f between two functions that both head toward 0, which forces f to head toward 0 as well (Wikipedia, Squeeze theorem). Take f(x, y) = (x^2*y)/(x^2+y^2) at (0, 0), the likely-exists example from above. The factor x^2 divided by (x^2+y^2) is never larger than 1, so the size of f is at most the size of y. As (x, y) approaches (0, 0), the size of y heads toward 0, so f is squeezed to 0. That confirms the tool’s estimate of 0 with a real proof.
Polar coordinates give a second route (Wikipedia, Polar coordinate system). Substitute x = r cos t and y = r sin t, so the distance from the origin is r. Rewrite f in terms of r and t, then check what happens as r heads toward 0. If f heads toward the same value L for every angle t, and you can bound the difference by something that depends only on r and goes to 0, the limit is L. The point in both methods is the same: a path-checker shows you the likely value, and an analytic bound is what proves it.
What the data says
This is where most learners get stuck. You have tried a few paths, the first two worked, the values matched, and now you are not sure what you should do next. Unlike a single-variable limit with only a left and right side to check, a two-variable limit can be approached along infinitely many curves, and it exists only if every one of them gives the same value (Mathematics LibreTexts, Calculus 3e).
That is why a single mismatched path is decisive. As the OpenStax Calculus Volume 3 authors put it:
“In other words, the limit must be unique, regardless of path taken.”
Gilbert Strang and Edwin Herman, in OpenStax Calculus Volume 3, Limits and Continuity.
So here is the honest boundary of this checker. A point in the plane can be approached from infinitely many directions, so finding two paths that give different values proves the limit does not exist, but getting the same value along several paths never proves that it does (OpenStax Calculus Volume 3). This tool can settle non-existence by surfacing two paths that disagree. It cannot, by path-testing alone, prove that a limit exists. That step needs the squeeze theorem, a polar bound that holds independent of the angle, or an epsilon-delta argument. The practical rule is simple: if any two paths disagree, conclude the limit does not exist and stop; if they keep agreeing, that agreement is your signal to switch to a proof, not to test more lines.
What this tool does that others don’t
- It shows the value along each approach path, not just one verdict. You can see the disagreement that proves a non-existence result, such as 0 along the axes against 0.5 along the line y = x. Many tools return a single answer and hide the path-by-path reasoning, so you cannot see why the limit does or does not exist.
- It states the honest limit of the method. A non-existence result is definitive, because finding two paths with different values is a valid disproof. An agreement result is labeled as suggestive, not a proof, because checking six paths can never cover the infinitely many that exist. The page points you to the squeeze theorem or polar bounds for an actual existence proof.
- It uses plainly labeled inputs and explains the notation. You enter the function as f(x, y), set x toward a and y toward b, and read help text for the accepted operators and functions. Some competing tools use cryptic inputs and give no syntax guidance.
- It lets you control the agreement tolerance, so you decide how close two path values must be to count as equal. You can tighten it for a borderline case or loosen it to ignore tiny numerical noise.
Frequently asked questions
What does this multivariable limit calculator actually do?
It is a numeric path checker. You enter a function f(x, y) and a target point (a, b), and it evaluates f along six fixed approach paths: the x-axis, the y-axis, two straight lines of different slope, a parabola, and a cubic. It samples each path at shrinking distances, compares what each one settles on, and gives a verdict with a per-path table.
Is this a symbolic solver that proves the limit?
No. This is a numeric estimator and path checker, not a computer algebra system or proof engine. It is strong at catching limits that fail, by finding two paths that disagree, and at guessing the value when a limit holds. A clean agreement result is suggestive evidence, not a rigorous proof.
How do you show a multivariable limit fails?
Find two different paths leading to the point along which the function approaches two different values. If that happens, the limit cannot exist, because a limit would have to give one single answer regardless of the path. This two-path test is the standard method in Calculus III, taught in Paul’s Online Math Notes and the Ohio State Ximera notes, and it is exactly what this tool automates.
Why can path testing disprove a limit but not prove one?
To disprove a limit you only need one counterexample: two paths with different values. To confirm a limit you would need the same value along every possible path, and there are infinitely many. Checking six paths can never cover them all, so agreement is strong evidence but not a proof. For a real confirmation, use the squeeze theorem or convert to polar coordinates and bound the function.
What is the limit of xy/(x^2 + y^2) as (x, y) approaches (0, 0)?
It has no limit. Along the x-axis the function is 0, and along the y-axis it is also 0, but along the line y = x it equals (x times x) divided by (x squared plus x squared), which is 1/2. Since two paths give different values, 0 and 1/2, there is no single limit. This is the classic textbook example, and this calculator reproduces it.
What paths does the calculator check?
Six fixed paths toward (a, b): straight in along the x-axis with y held at b, straight in along the y-axis with x held at a, a line of slope 1, a line of slope 2, the parabola y = b + (x minus a) squared, and the cubic y = b + (x minus a) cubed. These cover horizontal, vertical, two linear, and two curved approaches, which is usually enough to expose a missing limit.
How does it decide two paths disagree?
It compares each path’s settled value and flags a disagreement when two values differ by more than the agreement tolerance, which defaults to 0.0001. If you suspect a borderline case, lower the tolerance for a stricter comparison, or raise it to ignore tiny numerical noise.
What function notation can I type?
Use the variables x and y, the operators + - * / ^ for powers, parentheses, the constants pi and e, and common functions: sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, exp, ln, log, sqrt, and abs. Here ln is the natural logarithm and log is base 10. For example: (x*y)/(x^2+y^2), sin(x*y)/(x^2+y^2), or (x^2 - y^2)/(x^2 + y^2).
Can I use a point other than the origin?
Yes. Set x toward a and y toward b to any numbers you like. The default is the origin, (0, 0), because that is where most textbook examples live, but the paths are built around your chosen point, so any target works as long as the function is defined near it.
Why did it say inconclusive?
That happens when too few paths are defined near the point, for example when the function divides by zero along most paths, when paths give a mix of finite and divergent results that does not resolve, or when the sampled values never settle down. In those cases the numeric evidence is not clean enough to call, and you should analyse the function by hand.
Is the answer exact?
The reported value is a numeric estimate based on evaluating the function very close to the point, so it may show as a decimal even when the true value is a simple number like 0.5. Treat the value as an accurate approximation, and confirm the exact value algebraically if you need it for a proof.
Sources
- Paul’s Online Math Notes, Calculus III, Limits. States the different-paths criterion for two-variable limits: if two paths to the point give different values, the limit does not exist.
- Wikipedia, Limit of a function. For a multivariable limit to exist, the value of f must approach the same limit along every possible path. Gives the counterexample xy/(x^2 + y^2), which is 0 along one path and 1/2 along another.
- Wikipedia, Multivariable calculus. Different paths toward the same point can yield different values, so a general limit cannot be defined. Shows the parabola example x^2 y/(x^4 + y^2).
- Ohio State University, Ximera, Evaluating Limits. The two-path test: if two paths give different limits, the limit does not exist, and if the limit exists it must be equal along all paths.
- APEX Calculus, Limits and Continuity of Multivariable Functions. The limit exists only if it is the same along all of the infinitely many paths, so finding two paths with different values proves the limit does not exist.