separation of variables
How do you actually solve the heat or wave equation by hand? The single most important elementary technique is a bold guess: look for solutions that factor, where the dependence on space and the dependence on time live in separate factors multiplied together. It sounds too simple to work — and it only works for special equations — but when it does, it converts one hard PDE into a couple of ordinary differential equations you already know how to solve.
The recipe runs like this. For a problem in u(x, t), guess a product solution u(x, t) = X(x) T(t). Substitute it into the PDE; for the heat equation X T' = k X'' T, then divide through by X T to get T'/(k T) = X''/X. The left side depends only on t and the right side only on x, yet they are equal for all x and t — the only way that can happen is if both equal the same constant, the separation constant, usually written -lambda. You now have two ODEs: X'' + lambda X = 0 with the spatial boundary conditions, and T' + k lambda T = 0 in time. The boundary conditions turn the spatial ODE into an eigenvalue problem, selecting a discrete set of allowed lambda_n and eigenfunctions X_n (for fixed ends, the sines sin(n pi x / L)). Each pairs with its own T_n, and because the PDE is linear you superpose them: u = sum of c_n X_n(x) T_n(t), choosing the coefficients c_n to fit the initial condition — which is exactly a Fourier-series expansion.
Separation of variables is the engine behind the classical solutions of the heat, wave, and Laplace equations, and it is why Fourier series and eigenfunction expansions are taught alongside PDEs at all. But be honest about its reach: it works only when the equation is linear, the boundary conditions are homogeneous on a coordinate-aligned domain (a rectangle, disk, sphere — geometries where a coordinate system fits the boundary), and the operator actually separates. For a lopsided domain or a nonlinear equation it simply fails, and you must turn to transforms, Green's functions, or numerics.
Heat on 0 < x < L with u = 0 at both ends and u(x, 0) = f(x): separation gives u(x, t) = sum of b_n sin(n pi x / L) e^{-k (n pi / L)^2 t}, where the b_n are the Fourier sine coefficients of f. The PDE is solved the moment you expand the initial data in eigenfunctions.
The PDE becomes two ODEs, the boundary conditions become an eigenvalue problem, and the initial condition becomes a Fourier expansion.
Separation of variables is powerful but narrow: it requires linearity, homogeneous boundary conditions, and a domain that fits a separable coordinate system — it is not a general method, and most PDEs in irregular regions cannot be solved this way at all.