A functional equation is an equation where the unknown is a function — not a number. Instead of solving for x, you are solving for f itself, meaning you need to figure out what rule f must follow so that a given relationship holds for all values in its domain.
Here is a concrete way to think about it. A regular equation like 3x + 1 = 7 has a number as its solution (x = 2). A functional equation like f(x + y) = f(x) + f(y) has a function as its solution — the answer is f(x) = cx for some constant c. You are not finding a value; you are finding a formula.
The analogy that works best: think of a functional equation like a lock combination. The equation gives you a rule the function must obey under every possible input. Your job is to find a function f that never breaks that rule — for any inputs you throw at it.
In NDA exams, functional equations almost always fall into three recognizable families:
Family 1 — Multiplicative / Ratio type. The equation connects f(x/y) to f(x)/f(y) or f(xy) to f(x) + f(y). These equations point you toward power functions or logarithm functions respectively.
Family 2 — Additive type. The equation connects f(x + y) to expressions involving f(x) and f(y) separately. These usually point toward linear functions f(x) = cx.
Family 3 — Coupled system type. You are given one equation involving both f(x) and f(1/x) (or some other transformation). You substitute the transformation into the equation a second time, getting a system of two equations in two unknowns, then eliminate.
NDA 2025 dropped five functional equation questions in a cluster — all testing exactly these three families. Once you know the playbook, the whole cluster becomes a speed round rather than a hard section.
The core technique for every functional equation is strategic substitution — plug in specific values of x and y that simplify the equation drastically.
The most productive substitutions to try, in order:
x = y (makes both arguments identical)y = 0 or x = 0 (collapses one side)y = 1 (useful when multiplication appears)x = y = 0 (finds f(0))x with 1/x (crucial for coupled systems)Work through each systematically until the equation breaks open.
The equation f(x/y) = f(x)/f(y) (or equivalently f(xy) = f(x) \cdot f(y)) is a signature of power functions.
Why? If you try f(x) = x^k, then f(xy) = (xy)^k = x^k \cdot y^k = f(x) \cdot f(y). It works perfectly for any k.
The key insight: You do not need to find k explicitly. NDA questions always give you one anchor value like f(2) = 3, which means 2^k = 3. You never need to solve for k as a number — you just need expressions like (2^k)^4, which equals 3^4 = 81.
Extracting f(1) from this family: Set x = y in f(x/y) = f(x)/f(y). You get f(1) = f(x)/f(x) = 1. So for any multiplicative function, f(1) = 1. Always.
Building larger values: Express the target as a power of the anchor.
f(4) = f(2^2) = (2^k)^2 = 3^2 = 9f(8) = (2^k)^3 = 27f(16) = (2^k)^4 = 81The equation f(xy) = f(x + y) looks like it should give a rich family of solutions. It does not — it forces f to be a constant function.
Here is the proof by substitution:
Set y = 0: f(0) = f(x + 0) = f(x) for all x.
This says f(x) = f(0) for every x. So f is constant everywhere — its value everywhere equals f(0).
But wait — you also need f(0) itself. Use the equation again with x = 5, y = 0 and the known value f(5) = 10:
f(5 \cdot 0) = f(5 + 0) gives f(0) = f(5) = 10.
So f(x) = 10 for all x. Done.
This is the trap that catches you if you spend time trying to figure out what kind of function satisfies f(xy) = f(x+y) — you waste time hunting. Just substitute y = 0 immediately and the whole structure collapses to a constant.
For equations of the form af(x) + bf(1/x) = g(x), the method is always the same two-step process:
Step 1. Write the original equation as Equation (i).
Step 2. Replace every x with 1/x throughout. The left side swaps f(x) and f(1/x), and the right side becomes g(1/x). Call this Equation (ii).
Step 3. Treat (i) and (ii) as a simultaneous system with unknowns f(x) and f(1/x). Eliminate f(1/x) by multiplying (i) by a and subtracting (ii), or by multiplying (ii) by b and subtracting.
For the specific case 3f(x) + f(1/x) = 1/x + 1:
| | Equation |
|---|---|
| (i) | 3f(x) + f(1/x) = 1/x + 1 |
| (ii) after replacing x → 1/x | 3f(1/x) + f(x) = x + 1 |
Multiply (i) by 3: 9f(x) + 3f(1/x) = 3/x + 3.
Subtract (ii): (9-1)f(x) = 3/x + 3 - x - 1, so 8f(x) = 3/x - x + 2.
Therefore f(x) = \frac{3}{8x} - \frac{x}{8} + \frac{1}{4}.
The coefficient pairing a = 3, b = 1 is not symmetric, which is why you must multiply (i) by 3 (i.e., by a) to make the f(1/x) coefficients match before subtracting.
Always verify by plugging back. For the above: 3f(x) + f(1/x) should equal 1/x + 1. Compute f(1/x) by swapping x and 1/x in your answer, combine with 3f(x), and confirm.
When you see f(xy) = f(x)·f(y) or f(x/y) = f(x)/f(y), immediately write f(x) = x^k in the margin. You will never need to find k as a decimal — you only need (anchor_value)^n. NDA always sets it up so the target is anchor^n for a whole number n. Standard approach (guessing the form, testing, solving k): 90s. This pattern recognition: write answer in 15s after identifying the anchor.
When f(xy) = f(x+y) appears, do not think about what function could satisfy this. Immediately set y = 0. You get f(0) = f(x) for all x in one line — f is constant. Then find f(0) using any given anchor. This substitution takes 2 lines and 10 seconds. Hunting for the functional form without this substitution can waste 3-4 minutes.
For af(x) + bf(g(x)) = h(x), the standard move is: write Equation (i), then replace x with g(x) to get Equation (ii). If g(g(x)) = x (as with g(x) = 1/x), this gives you a 2×2 linear system. Always multiply by the larger coefficient to eliminate the inconvenient term. Step count standard method (guessing form): 8+ steps. Replace-and-eliminate: exactly 4 steps, deterministic, no guessing.
For multiplicative equations f(xy) = f(x)·f(y): set x = y = 1, get f(1) = f(1)² so f(1) = 0 or 1. For ratio equations f(x/y) = f(x)/f(y): set x = y, get f(1) = 1. For additive f(x+y) = f(x) + f(y): set x = y = 0, get f(0) = 0. Memorize these: they appear as sub-questions ("find f(1)") and cost you nothing if you recall this in 5 seconds rather than re-deriving in 30 seconds.
When f(2) = 3 and f obeys power law: build a ladder. f(2) = 3¹, f(4) = 3², f(8) = 3³, f(16) = 3⁴. Each doubling of x multiplies the exponent by 1. To find f(2^n), the answer is 3^n. This ladder takes 5 seconds to write and makes any "find f(16)" question instantaneous. Standard method (re-deriving each time): 45s per value. Ladder: 5s to build, 2s per lookup.
When you see a functional equation in the exam hall, run this decision tree in order:
Step 1 — Classify the structure.
f(xy), f(x/y), or f(x+y)? Go to multiplicative or additive family.f(x) and f(1/x) in the same equation? Go to coupled-system method.Step 2 — Try y = 0 first. If setting y = 0 collapses the equation to f(x) = constant, you are done in two lines. Do not skip this.
Step 3 — Identify the anchor. The problem will give you one value like f(2) = 3. Express all targets as powers of the anchor's base.
Step 4 — For coupled systems, replace x with 1/x to get the second equation immediately, then treat it as a standard 2×2 linear system.
Step 5 — Verify. Plug your answer back into the original equation with one specific value. If it checks out, move on. If not, check your algebra on the elimination step — that is where sign errors live.
Total time budget: 2 minutes for a standard NDA functional equation question. If you are beyond 3 minutes, you have missed the structural move — go back to Step 1.
Why this question: This is the anchor question for the 2025 cluster — it tests whether you recognize the power-law fingerprint from a ratio functional equation.
Solving path: The equation f(x/y) = f(x)/f(y) tells you f is a power function: f(x) = x^k. Since f(2) = 3, we have 2^k = 3. Now, f(16) = f(2^4) = (2^4)^k = (2^k)^4 = 3^4 = 81. You never compute k as a number.
Why this question: This follow-up question in the same cluster checks whether you can extract f(1) from the same setup and chain two computed values together.
Solving path: Set x = y in f(x/y) = f(x)/f(y): f(1) = f(x)/f(x) = 1. For f(4): f(4) = (2^k)^2 = 9. So f(1) \cdot f(4) = 1 \times 9 = 9. The answer is option C.
Why this question: This question introduces the deceptively simple equation f(xy) = f(x+y). The trap is spending time on "what function satisfies this?" — the substitution y = 0 kills the question in two lines.
Solving path: Set x = 5, y = 0: f(5 \times 0) = f(5 + 0), so f(0) = f(5) = 10. Done. Answer D.
Why this question: This is the deeper follow-up to the constant-function trap. You must first establish that f is constant, then apply it.
Solving path: From the previous result, f(x) = f(0) for all x (proved by y = 0 substitution). Since f(5) = 10, the constant value is 10. Therefore f(20) + f(-20) = 10 + 10 = 20. Answer C.
Why this question: This is the hardest type in the NDA functional equations toolkit — the coupled system. It tests systematic algebra, not pattern recognition.
Solving path:
Equation (i): 3f(x) + f(1/x) = 1/x + 1
Replace x with 1/x throughout Equation (ii): 3f(1/x) + f(x) = x + 1
Multiply Equation (i) by 3: 9f(x) + 3f(1/x) = 3/x + 3
Subtract Equation (ii) from this: 8f(x) = 3/x - x + 2
Divide by 8: f(x) = \frac{3}{8x} - \frac{x}{8} + \frac{1}{4}
This matches option D. Verify: compute 3f(x) + f(1/x) and confirm it equals 1/x + 1.
Assuming f is one-to-one or onto without cause. Functional equations do not come with domain restrictions unless stated. The equation f(xy) = f(x+y) holds for all real x, y — including y = 0 — and that is precisely what you must exploit, not ignore.
Forgetting to check that x = y = 0 is valid. Before substituting, confirm that the substitution lies within the stated domain. For questions that specify "positive real values", setting x = y = 0 is out of bounds. Stick to x = y (giving f(1)) instead.
In the coupled-system method, dropping the sign when subtracting. The step 9f(x) + 3f(1/x) - [3f(1/x) + f(x)] gives 8f(x), not 10f(x). Write out the subtraction line explicitly — do not do it in your head.
Computing k explicitly when it is irrational. If 2^k = 3, then k = \log_2 3, which is irrational. Never try to use this decimal approximation. Always keep the base structure (2^k)^n = 3^n. Any path through an explicit decimal value of k will give a wrong answer due to rounding.
Assuming f(1) = 0 by default. For multiplicative functions f(xy) = f(x)f(y), you have f(1) = 0 or 1. For ratio-type f(x/y) = f(x)/f(y), setting x = y forces f(1) = 1 uniquely (division by f(x) requires f(x) \neq 0). Confusing these two is a persistent source of error.
Stopping at f(0) = f(5) = 10 and thinking the question asked for f(5). In the f(xy) = f(x+y) cluster, every subsequent question hinges on first establishing that f is globally constant. If you treat f(0) = 10 as an isolated fact rather than as proof of f being constant, you will be unable to answer f(20) + f(-20) quickly.