In mathematics, a **functional equation**^{[1]}^{[2]}^{[3]}^{[4]} is any equation in which the unknown represents a function.
Often, the equation relates the value of a function (or functions) at some point with its values at other points. For instance, properties of functions can be determined by considering the types of functional equations they satisfy. The term *functional equation* usually refers to equations that cannot be simply reduced to algebraic equations or differential equations.

- The functional equation

- is satisfied by the Riemann zeta function. The capital Γ denotes the gamma function.

- The gamma function is the unique solution of the following system of three equations:

- (Euler's reflection formula)

- The functional equation

- where
*a*,*b*,*c*,*d*are integers satisfying*ad*−*bc*= 1, i.e. = 1, defines f to be a modular form of order k.

- Miscellaneous examples, not necessarily involving standard or named functions:

- (Cauchy's functional equation)

- satisfied by all exponential functions

- , satisfied by all logarithmic functions

- , satisfied by all power functions of the form for and otherwise.

- (quadratic equation or parallelogram law)

- (Jensen)

- (d'Alembert)

- (Abel equation)

- (Schröder's equation).

- (Böttcher's equation).

- (Julia's equation).

- (Translation equation)

- (sine addition formula).

- (cosine addition formula).

- (Levi-Civita).

- A simple form of functional equation is a recurrence relation. This, formally speaking, involves an unspecified functions on integers and also shift operators. One such example of a recurrence relation is

- The commutative and associative laws are functional equations. When the associative law is expressed in its familiar form, one lets some symbol between two variables represent a binary operation,

- But if we wrote
*ƒ*(*a*,*b*) instead of*a*○*b*then the associative law would look more like what one conventionally thinks of as a functional equation,

One feature that all of the examples listed above share in common is that, in each case, two or more known functions (sometimes multiplication by a constant, sometimes addition of two variables, sometimes the identity function) are inside the argument of the unknown functions to be solved for.

When it comes to asking for *all* solutions, it may be the case that conditions from mathematical analysis should be applied; for example, in the case of the *Cauchy equation* mentioned above, the solutions that are continuous functions are the 'reasonable' ones, while other solutions that are not likely to have practical application can be constructed (by using a Hamel basis for the real numbers as vector space over the rational numbers). The Bohr–Mollerup theorem is another well-known example.

Solving functional equations can be very difficult, but there are some common methods of solving them. For example, in dynamic programming a variety of successive approximation methods^{[5]}^{[6]} are used to solve Bellman's functional equation, including methods based on fixed point iterations. Some classes of functional equations can be solved by computer-assisted techniques.^{[7]}

A main method of solving elementary functional equations is substitution. It is often useful to prove surjectivity or injectivity and prove oddness or evenness, if possible. It is also useful to guess possible solutions. Induction is a useful technique to use when the function is only defined for rational or integer values.

A discussion of involutory functions is topical. For example, consider the function

Composing f with itself gives **Babbage's functional equation** (1820),^{[8]}

Several other functions also satisfy the functional equation

including

- and

which includes the previous three as special cases or limits.

**Example 1**. Find all functions f that satisfy

for all *x,y* ∈ ℝ, assuming *ƒ* is a real-valued function.

Let x = y = 0,

So *ƒ*(0)^{2} = 0 and *ƒ*(0) = 0.

Now, let y = −x,

A square of a real number is nonnegative, and a sum of nonnegative numbers is zero iff both numbers are 0.

So *ƒ*(x)^{2} = 0 for all x and *ƒ*(*x*) = 0 is the only solution.