Technique Library

Learn the moves behind competition math.

Each technique page gives you the idea, when to use it, common traps, and a direct path into MathGrit problems tagged with that move.

Algebra

28 techniques

Factoring

Rewriting expressions as products to expose roots, divisibility, cancellation, or hidden structure.
Difficulty 5-453720 problems

Difference of Squares

Using $a^2-b^2=(a-b)(a+b)$ to simplify expressions, integer equations, and geometric quantities.
Difficulty 5-4036 problems

Sophie Germain Identity

Factoring fourth-power expressions with $a^4+4b^4$ to unlock surprising product structure.
Difficulty 35-752 problems

Substitution

Replacing a complicated expression with a simpler variable so the main relation becomes visible.
Difficulty 10-557599 problems

Systems of Equations

Solving multiple linked equations by elimination, substitution, symmetry, or strategic combination.
Difficulty 10-60432 problems

Vieta's Formulas

Connecting polynomial roots to coefficient sums and products to avoid solving explicitly.
Difficulty 25-75640 problems

Quadratic Discriminant

Using $b^2-4ac$ to control roots, tangency, integer solutions, and parameter ranges.
Difficulty 15-6533 problems

Completing the Square

Rewriting quadratics into square-plus-constant form to reveal minima, distances, or constraints.
Difficulty 10-55585 problems

Symmetric Polynomials

Using expressions unchanged by variable swaps to reduce variables and exploit root relationships.
Difficulty 40-85511 problems

Inequalities

Comparing quantities through standard bounds, transformations, and equality cases.
Difficulty 20-90190 problems

AM-GM

Using the arithmetic-geometric mean inequality to bound positive expressions and locate equality.
Difficulty 25-80686 problems

Cauchy-Schwarz

Bounding sums and products with vector-like structure, especially in quadratic expressions.
Difficulty 35-90246 problems

Sequences and Recursion

Understanding terms defined by patterns or previous terms through recurrence and closed forms.
Difficulty 15-70564 problems

Telescoping

Arranging sums or products so most terms cancel and only boundary terms remain.
Difficulty 20-70948 problems

Exponent Rules

Using exponent laws to simplify powers, compare growth, and reveal hidden repeated multiplication.
Difficulty 5-5577 problems

Logarithms

Translating exponent relationships into additive structure for equations and contest estimates.
Difficulty 25-8024 problems

Complex Numbers

Using real and imaginary parts, modulus, argument, and roots to encode algebraic structure.
Difficulty 35-909 problems

Roots of Unity

Exploiting evenly spaced complex roots to factor polynomials and filter periodic sums.
Difficulty 45-95269 problems

Polynomial Remainder Theorem

Evaluating polynomial remainders through substitution rather than long division.
Difficulty 20-704 problems

Factor Theorem

Recognizing roots as linear factors and using them to decompose polynomial expressions.
Difficulty 15-6515 problems

Partial Fractions

Splitting rational expressions into simpler fractions for telescoping sums and equations.
Difficulty 30-80136 problems

Rationalizing

Multiplying by conjugate-style expressions to remove radicals or expose clean factors.
Difficulty 10-5547 problems

Floor Functions

Handling greatest-integer expressions through intervals, fractional parts, and case splits.
Difficulty 35-90620 problems

Simon's Favorite Factoring Trick

Adding a constant to both sides so $xy + ax + by$ factors as $(x+a)(y+b)$, turning a two-variable equation into a product.
Difficulty 25-808 problems

Trigonometric Identities

Using Pythagorean, angle-addition, double-angle, and sum-to-product identities to simplify or evaluate trigonometric expressions.
Difficulty 30-904 problems

Binomial Theorem

Expanding $(x+y)^n = \sum_k \binom{n}{k} x^{n-k} y^k$ and extracting specific coefficients or terms.
Difficulty 25-80560 problems

Newton's Sums

Relating power sums of the roots to the elementary symmetric functions (coefficients) without solving the polynomial.
Difficulty 45-9535 problems

Rearrangement Inequality

Maximizing or minimizing $\sum a_i b_{\sigma(i)}$ by sorting the two sequences in the same (or opposite) order.
Difficulty 55-9527 problems

Geometry

22 techniques

Angle Chasing

Tracking equal, complementary, supplementary, and cyclic angles until the target angle appears.
Difficulty 10-701184 problems

Similar Triangles

Finding equal angle patterns that create proportional sides and reusable scale factors.
Difficulty 10-75281 problems

Cyclic Quadrilaterals

Using opposite angles and equal subtended arcs when four points lie on one circle.
Difficulty 25-80210 problems

Power of a Point

Relating secants and tangents through equal products from a fixed point and a circle.
Difficulty 35-85448 problems

Tangent-Chord Theorem

Converting tangent angles into inscribed angles to unlock circle configurations.
Difficulty 30-8031 problems

Radical Axis

Using equal powers to organize multiple circles, intersections, and collinearity.
Difficulty 55-9543 problems

Area Chasing

Comparing areas through shared bases, heights, ratios, and decompositions.
Difficulty 10-70511 problems

Ratio Chasing

Propagating side, area, and segment ratios through a diagram until the target ratio appears.
Difficulty 20-805 problems

Ceva and Menelaus

Using product-of-ratios criteria for concurrent cevians and collinear points.
Difficulty 45-9014 problems

Coordinate Bashing

Placing a diagram on coordinates to turn geometry relations into algebra.
Difficulty 20-802849 problems

Vectors

Representing points and directions as vectors to handle lengths, midpoints, and parallelism.
Difficulty 30-8552 problems

Homothety

Using dilation centers and scale factors to relate circles, triangles, and tangent structures.
Difficulty 45-9059 problems

Inversion

Transforming circles and lines through reciprocal distances to simplify difficult configurations.
Difficulty 70-10021 problems

Law of Sines

Relating side lengths and opposite angles through a triangle circumcircle.
Difficulty 20-75280 problems

Law of Cosines

Generalizing the Pythagorean theorem to connect two sides and an included angle.
Difficulty 20-75867 problems

Ptolemy's Theorem

Using cyclic quadrilateral side and diagonal products to unlock lengths and ratios.
Difficulty 35-8557 problems

Pick's Theorem

Finding lattice polygon area from interior and boundary lattice points.
Difficulty 25-7513 problems

Stewart's Theorem

Relating a cevian's length $d$ to the triangle's sides via $man + dad = bmb + cnc$.
Difficulty 45-907 problems

Angle Bisector Theorem

An angle bisector splits the opposite side in the ratio of the adjacent sides: $\frac{BD}{DC} = \frac{AB}{AC}$.
Difficulty 20-7558 problems

Shoelace Formula

Computing a polygon's area from its vertex coordinates via $\frac{1}{2}\left| \sum (x_i y_{i+1} - x_{i+1} y_i) \right|$.
Difficulty 25-8036 problems

Heron's Formula

Finding a triangle's area from its three sides: $\sqrt{s(s-a)(s-b)(s-c)}$ where $s = \frac{a+b+c}{2}$.
Difficulty 20-75152 problems

Spiral Similarity

A rotation-and-scaling about a fixed center that maps one segment to another, linking similar triangles in a configuration.
Difficulty 65-10037 problems

Number Theory

21 techniques

Modular Arithmetic

Studying remainders to simplify divisibility, powers, congruences, and impossibility arguments.
Difficulty 10-803482 problems

Parity

Using odd and even structure as the simplest modular arithmetic argument.
Difficulty 5-451456 problems

Divisibility

Tracking when one integer divides another through factors, residues, and prime powers.
Difficulty 10-701005 problems

Prime Factorization

Breaking integers into primes to control divisors, gcd, lcm, and exponents.
Difficulty 10-70348 problems

GCD and LCM

Using greatest common divisors and least common multiples to organize integer constraints.
Difficulty 15-75133 problems

Euclidean Algorithm

Repeatedly replacing pairs by remainders to compute gcds and solve linear combinations.
Difficulty 25-8039 problems

Bezout Identity

Expressing gcds as integer linear combinations to prove existence and solve congruences.
Difficulty 35-851 problem

Diophantine Equations

Solving equations under integer restrictions using divisibility, bounds, and modular constraints.
Difficulty 35-958 problems

Chinese Remainder Theorem

Combining compatible congruences into one residue class modulo a product.
Difficulty 35-85209 problems

Fermat's Little Theorem

Reducing powers modulo primes using $a^{p-1}\equiv 1$ when $a$ is not divisible by $p$.
Difficulty 35-85171 problems

Euler's Phi Function

Counting residues coprime to n and generalizing Fermat-style exponent reductions.
Difficulty 45-9050 problems

Orders Modulo n

Using the period of powers modulo n to control cycles and exponent equations.
Difficulty 50-958 problems

p-adic Valuations

Counting the exponent of a prime inside an integer to sharpen divisibility arguments.
Difficulty 45-959 problems

Lifting the Exponent

Computing prime valuations of expressions like $a^n-b^n$ under useful hypotheses.
Difficulty 65-100214 problems

Infinite Descent

Proving impossibility by showing any solution creates a smaller solution forever.
Difficulty 55-10051 problems

Modular Inverses

Dividing in modular arithmetic by multiplying by an inverse when it exists.
Difficulty 30-852 problems

Wilson's Theorem

Using factorial residues modulo primes to identify primality and simplify congruences.
Difficulty 45-9015 problems

Quadratic Residues

Classifying which residues can occur as squares modulo an integer or prime.
Difficulty 55-10090 problems

Base Systems

Changing number bases to expose digit constraints, divisibility, and place-value structure.
Difficulty 15-7093 problems

Divisor Functions

Computing the number $\tau(n)$ and sum $\sigma(n)$ of divisors directly from the prime factorization.
Difficulty 20-80173 problems

Vieta Jumping

Solving Diophantine equations by viewing them as quadratics in one variable and 'jumping' to a smaller solution to force descent.
Difficulty 80-10013 problems

Counting & Probability

21 techniques

Casework

Splitting a problem into complete non-overlapping cases that are easier to solve.
Difficulty 5-7012106 problems

Complementary Counting

Counting everything except the bad cases when direct counting is harder.
Difficulty 10-651318 problems

Inclusion-Exclusion

Correcting overlapping counts by alternately adding and subtracting intersections.
Difficulty 25-90796 problems

Pigeonhole Principle

Forcing a collision or concentration when more objects than containers are present.
Difficulty 15-85629 problems

Stars and Bars

Counting nonnegative integer solutions and distributions by separators and objects.
Difficulty 20-80283 problems

Permutations and Combinations

Choosing whether order matters and applying factorial, binomial, and arrangement counts.
Difficulty 5-60139 problems

Double Counting

Counting the same set of incidences in two ways to prove identities or bounds.
Difficulty 35-95853 problems

Bijections

Pairing two classes of objects one-to-one so a hard count becomes an easier count.
Difficulty 30-90418 problems

Recursive Counting

Defining counts in terms of smaller counts and solving the resulting recurrence.
Difficulty 30-9076 problems

Generating Functions

Encoding counts as coefficients of power series so algebra can solve counting problems.
Difficulty 45-100308 problems

Probability Complements

Finding probabilities by subtracting the easier opposite event from one.
Difficulty 10-655 problems

Expected Value

Using averages and linearity to avoid listing every possible outcome.
Difficulty 25-85641 problems

Linearity of Expectation

Adding expected contributions even when events are dependent.
Difficulty 40-9581 problems

Invariants

Finding a quantity that stays unchanged through moves, operations, or transformations.
Difficulty 25-95963 problems

Grid Paths

Counting lattice walks with step choices, obstacles, and reflection or complement ideas.
Difficulty 15-808 problems

Integer Partitions

Counting ways to write integers as unordered sums under restrictions.
Difficulty 35-954 problems

Indicator Variables

Turning events into zero-one variables so expectation and counting become additive.
Difficulty 40-953 problems

Permutation Cycles

Decomposing permutations into cycles to understand arrangements, parity, and repeated moves.
Difficulty 40-9524 problems

Geometric Probability

Computing probabilities as ratios of lengths, areas, or volumes of a favorable region to the whole sample space.
Difficulty 30-85123 problems

Conditional Probability

Updating a probability given partial information via $P(A \mid B) = \frac{P(A \cap B)}{P(B)}$, including Bayes' rule.
Difficulty 30-8588 problems

Catalan Numbers

Counting balanced, non-crossing, or nested structures with $C_n = \frac{1}{n+1}\binom{2n}{n}$.
Difficulty 50-9534 problems

Problem-Solving Strategy

8 techniques

Find a Pattern

Solving small examples and extracting the structure that persists.
Difficulty 5-7094 problems

Work Backwards

Starting from the desired result or final state when forward construction is unclear.
Difficulty 5-6522 problems

Extremal Principle

Choosing the largest, smallest, earliest, or latest object to force useful structure.
Difficulty 35-1001830 problems

Monovariants

Finding a quantity that always increases or decreases to prove termination or impossibility.
Difficulty 35-953 problems

Coloring Arguments

Coloring objects or positions to reveal parity, invariance, or impossibility.
Difficulty 25-9035 problems

Mathematical Induction

Proving infinitely many statements by establishing a base case and a reliable step.
Difficulty 30-95774 problems

Symmetry

Using repeated structure, interchangeable variables, or mirrored configurations to reduce work.
Difficulty 15-85334 problems

Bounding

Trapping a quantity between upper and lower estimates until only one answer remains.
Difficulty 20-90208 problems

Olympiad Methods

13 techniques

Functional Equations

Determining functions from identities by strategic substitutions and structural constraints.
Difficulty 50-100932 problems

Graph Theory Counting

Modeling relationships as vertices and edges to count incidences, paths, and constraints.
Difficulty 45-10055 problems

Projective Geometry

Using projection-friendly theorems and transformations to simplify incidence geometry.
Difficulty 70-10018 problems

Barycentric Coordinates

Representing points by weighted triangle coordinates to handle cevians and ratios.
Difficulty 60-10026 problems

Primitive Roots

Using generators of modular multiplication groups to control powers and residues.
Difficulty 70-10010 problems

Burnside's Lemma

Counting objects up to symmetry by averaging the fixed points of group actions.
Difficulty 65-10058 problems

Complex Numbers in Geometry

Encoding geometric points as complex numbers to handle circles, angles, and rotations algebraically.
Difficulty 65-1008 problems

Roots of Unity Filter

Using complex roots of unity to isolate terms by congruence class in sums or counts.
Difficulty 65-100269 problems

Muirhead's Inequality

Comparing symmetric homogeneous sums through majorization in olympiad inequalities.
Difficulty 70-1001 problem

Jensen's Inequality

Applying convexity or concavity to bound averages of function values.
Difficulty 65-1001 problem

Holder's Inequality

Generalizing Cauchy-Schwarz to bound products and sums in harder inequality problems.
Difficulty 70-1001 problem

SOS and Smoothing

Proving symmetric inequalities by writing the difference as a sum of squares, or smoothing variables toward equality.
Difficulty 70-10030 problems

Probabilistic Method

Proving an object exists by showing a random construction has positive probability (or the right expectation) of working.
Difficulty 80-1005 problems