Lemma › Guides › How to start a functional equation problem
Guide

How to start a functional equation problem

17 October 2026

Most students who stall on a functional equation are not missing a theorem. They are staring at f(x+y)f(x+y) and waiting for an idea, when the first ten minutes of almost every functional equation are the same mechanical routine. The idea, if one is needed at all, comes after the routine, and it comes from what the routine wrote down.

So this is the routine, in the order to run it.

Step 1: plug in the cheap values

Before thinking, substitute. The equation holds for all xx and yy, so every choice of values is a free fact. Try these, in this order, and write each result on its own line:

  1. x=y=0x = y = 0. Almost always gives you f(0)f(0), or a short list of candidates for it.
  2. y=0y = 0 with xx left general. This is the substitution that solves easy problems outright.
  3. y=xy = x. Turns a two-variable equation into a one-variable one, often f(2x)f(2x) in terms of f(x)f(x).
  4. y=−xy = -x. Tells you whether ff is odd or even.
  5. x=1x = 1 or y=1y = 1, once you know or can name f(1)f(1).
The goal of step 1 is not to solve the problem. It is to collect facts: the value of f(0)f(0), a symmetry, a doubling rule. Most of the time one of them is the whole problem in disguise.

Watching step 1 finish a problem

Take find all ff with f(x)f(y)−f(xy)=x+yf(x)f(y) - f(xy) = x + y.

Put x=y=0x = y = 0: f(0)2−f(0)=0f(0)^2 - f(0) = 0, so f(0)f(0) is 00 or 11. Two candidates, so you have a branch, and each branch gets checked.

Put y=0y = 0: f(x)f(0)−f(0)=xf(x)f(0) - f(0) = x. If f(0)=0f(0) = 0 the left side is 00 for every xx, but the right side is xx, so that branch dies. With f(0)=1f(0) = 1 it reads f(x)−1=xf(x) - 1 = x, so f(x)=x+1f(x) = x + 1.

Two substitutions, and there was no idea anywhere in them. That is normal for this kind of problem, not lucky.

Step 2: guess the answer before you prove it

If the cheap values do not finish it, find out what the answer is before trying to prove anything. Contest functional equations almost always have short answers: a constant, f(x)=xf(x) = x, f(x)=cxf(x) = cx, f(x)=x+cf(x) = x + c, f(x)=x2f(x) = x^2.

The fast way to guess is to assume a shape and let the equation fix the coefficients. In the problem above, try f(x)=ax+bf(x) = ax + b:

(ax+b)(ay+b)−(axy+b)=(a2−a)xy+abx+aby+b2−b.(ax + b)(ay + b) - (axy + b) = (a^2 - a)xy + abx + aby + b^2 - b.

Matching this to x+yx + y needs a2=aa^2 = a, ab=1ab = 1 and b2=bb^2 = b, which leaves only a=b=1a = b = 1. That is the same f(x)=x+1f(x) = x + 1, found a second way, and it tells you there is no other linear solution hiding.

Guessing does not prove there is nothing else. What it gives you is a target, and a target changes how you substitute: you stop trying random values and start trying values that would force ff toward the answer you already know.

Step 3: aim the substitutions at what you need

Once you know where you are going, choose values on purpose.

Suppose f(x+y)+f(x−y)=2f(x)+2f(y)f(x+y) + f(x-y) = 2f(x) + 2f(y) for all reals, f(1)=1f(1) = 1, and you want f(3)f(3). Do not solve for ff in general. x=y=0x = y = 0 gives 2f(0)=4f(0)2f(0) = 4f(0), so f(0)=0f(0) = 0. Then y=xy = x gives f(2x)=4f(x)f(2x) = 4f(x), so f(2)=4f(2) = 4. Now aim: x=2x = 2, y=1y = 1 gives f(3)+f(1)=2f(2)+2f(1)f(3) + f(1) = 2f(2) + 2f(1), so f(3)=8+2−1=9f(3) = 8 + 2 - 1 = 9.

The guess was f(x)=x2f(x) = x^2, and 32=93^2 = 9 agrees. If you try f(x)=ax2+bx+cf(x) = ax^2 + bx + c in that equation, the constant and linear terms are forced to vanish: cc because 2c=4c2c = 4c, and bb because the yy terms on the left cancel while 2by2by on the right does not.

Step 4: find out what each hypothesis is for

When a problem adds a condition (monotonic, continuous, positive, defined on integers only) that condition is there because the problem is false without it. Look for where it gets used, and expect it to be used exactly once.

Cauchy's equation with ff monotonic is the clean example. The routine runs as usual: y=0y = 0 gives f(0)=0f(0) = 0, y=−xy = -x makes ff odd, induction gives f(nx)=nf(x)f(nx) = nf(x), and dividing out gives f(r)=crf(r) = cr for every rational rr. None of that touched monotonicity. It enters only at the last step, squeezing a real tt between rationals on each side. Without it the statement is false, and that is why it is there.

So if you have used every substitution you can think of and never touched the extra condition, you know where the remaining work is.

Step 5: verify in the original equation

Substitutions produce candidates, not solutions. Each one only uses some of the equation, so a function can pass every substitution you tried and still fail the equation itself. Graders take marks for a missing verification, and it costs two lines.

For the first problem: (x+1)(y+1)−(xy+1)=xy+x+y+1−xy−1=x+y(x + 1)(y + 1) - (xy + 1) = xy + x + y + 1 - xy - 1 = x + y. Done. For Cauchy: c(x+y)=cx+cyc(x + y) = cx + cy. Done.

The trap at the end

There is one mistake that survives all five steps. Suppose you show that for each xx, f(x)=xf(x) = x or f(x)=−xf(x) = -x. That does not mean f(x)=xf(x) = x everywhere or f(x)=−xf(x) = -x everywhere. The sign can change from point to point: f(x)=∣x∣f(x) = |x| satisfies f(x)2=x2f(x)^2 = x^2 for every xx and is neither of them.

When a solution reaches "for each xx, one of these", the problem is not done. The next job is to rule out mixing, usually by assuming f(a)=af(a) = a and f(b)=−bf(b) = -b for some nonzero aa and bb and substituting both into the original equation to reach a contradiction.

The routine, in one place

Train it on Lemma

Every technique here is taught explicitly, in order. 125 lessons, 1206 curated problems and unlimited generated practice at six difficulties. Free to start, no card, and every paid plan opens with 3 free days.

Find your level