01
Work Backwards
Reverse steps to solve a complex problem
Start from your desired end result and systematically work in reverse toward the initial conditions. This strategy is particularly effective for problems where the starting point is complex but the goal state is well-defined.
02
Simplify the Problem
Solve a similar but simpler version first
Break down the problem into a simpler version with fewer variables or constraints. Solve this simplified version first, then gradually reintroduce complexity while adapting your solution.
03
Draw a Diagram
Create a visual representation of the problem
Translate the problem into a visual form — a graph, chart, geometric figure, or other diagram. Visual representations can reveal spatial relationships and sequences that might not be obvious from verbal descriptions.
04
Look for a Pattern
Identify recurring elements or behaviors
Examine the problem for repeating elements, sequences, or behaviors. Once you identify a pattern, you can often extend it to find unknown values or predict future states.
05
Make a Table or List
Organize information systematically
Create a structured table or list to organize the problem data. This approach helps track multiple variables or cases, identify patterns, and ensure you've covered all possibilities.
06
Guess and Check
Try potential solutions and refine based on results
Propose reasonable values or approaches, then test whether they satisfy the problem conditions. Based on how close your guess comes to the solution, refine your next attempt.
07
Use Algebra or Variables
Represent unknowns with variables and form equations
Introduce variables to represent unknown quantities, then use the problem constraints to form equations or inequalities. This transforms concrete problems into abstract mathematical forms that can be solved using established techniques.
08
Break into Cases
Divide the problem into exhaustive scenarios
Split the problem into distinct, non-overlapping cases that collectively cover all possibilities. Solve each case separately, then combine the results.
09
Change the Representation
Transform the problem into an equivalent form
Convert the problem into a different but equivalent representation — translate a verbal problem into equations, convert equations to graphs, or reframe geometric problems algebraically.
10
Use Invariants
Focus on quantities that remain constant
Identify quantities or relationships that remain unchanged as the problem evolves or transforms. These invariants often provide anchor points for your solution and can simplify complex problems. Look for conserved quantities, fixed ratios, or structural properties that persist throughout the problem.
11
Use Extremes
Analyze boundary cases or limits
Examine what happens in extreme cases — when variables approach zero, infinity, or their maximum/minimum allowable values. Edge cases often simplify the problem and reveal underlying principles.
12
Apply Symmetry
Utilize mirror or rotational properties
Look for symmetry in the problem — situations where transformations leave key properties unchanged. Symmetrical problems can often be simplified by focusing on one representative portion.
13
Work Modulo Something
Use modular arithmetic to simplify
Apply modular arithmetic (the remainder when dividing by a number) to simplify cyclical patterns or reduce large numbers. This technique is powerful for problems involving cycles, divisibility, or patterns that repeat after a fixed interval. It can transform complex calculations into manageable ones.
14
Generalize the Problem
Solve a more general case to expose structure
Instead of focusing on the specific instance, solve a more general version of the problem. The general case sometimes reveals patterns or techniques that can be specialized back to solve the original problem more easily.
15
Invent a New Variable
Create new parameters to simplify relationships
Introduce new variables that capture important relationships in the problem. Substitutions like u = x + y or coordinate transformations can simplify complex expressions or reveal hidden structure. The right variable definition can dramatically reduce the complexity of calculations.
16
Try Induction or Recursion
Build solutions incrementally or recursively
For problems involving sequences or structures of increasing size, solve the smallest case first, then use that solution to build the next case. Mathematical induction formalizes this approach for proofs, while recursive methods apply it to computations. This strategy breaks complex problems into a series of simpler, related subproblems.
17
Build a Counterexample
Test assumptions by finding contradictions
Construct examples that violate your conjectures or demonstrate the limitations of proposed solutions. Counterexamples can quickly disprove incorrect approaches and guide you toward a better understanding of the problem constraints. This technique helps avoid pursuing unproductive paths.
18
Restate the Problem
Reformulate to gain new perspective
Express the problem in different words or from a different angle. Sometimes simply rephrasing the question reveals insights or suggests solution approaches. This technique can help overcome mental blocks by shifting how you conceptualize the problem structure.