This page is the "leave-no-case-behind" companion to the parent note on addition and subtraction . There we built the engine : place value, carrying, borrowing. Here we drive it over every kind of road — every way a column can behave, every trap a word problem can hide. First we map the terrain, then we walk each cell of the map with a fully worked example.
If any symbol below feels unfamiliar, it was defined in the parent note (a carry is the small 1 that climbs to the next column when a column sum reaches 10 or more; a borrow is the 1 — worth 10 — you take from the next column when the top digit is too small to subtract).
Think of every addition/subtraction problem as a machine that can hit one of a small number of behaviours in its columns. Here is the complete list. If we work one example of each row, nothing can surprise the reader.
#
Case class
What makes it special
Example that hits it
A
Clean, no carry/borrow
every column stays 0 –9
Ex 1
B
Addition with a chain of carries
carry ripples several columns
Ex 2
C
Carry that grows a new column
the sum is longer than both inputs
Ex 2 (top digit)
D
Subtraction, single borrow
one column short, neighbour lends
Ex 3
E
Subtraction, borrow across zeros
a 0 (or many) must borrow-then-lend
Ex 4
F
Degenerate : subtract equal numbers / subtract zero / add zero
edge values
Ex 5
G
Result crosses below zero (top < bottom overall) → a negative
limiting/sign case
Ex 6
H
Word problem , mixed add & subtract
translation + ordering
Ex 7
I
Exam twist : unknown digit / missing addend
reasoning backwards
Ex 8
Every numeric answer on this page is machine-checked in the verify block.
A · 324 + 145
Forecast: guess first — will any column reach 10 ? Look at the digit pairs 4 + 5 , 2 + 4 , 3 + 1 . None can. So you should predict no carries at all .
Ones: 4 + 5 = 9 . Write 9 .
Why this step? The ones column is 1 0 0 ; 9 < 10 so it fits — no carry born.
Tens: 2 + 4 = 6 . Write 6 .
Why this step? Still under 10 ; carry-in was 0 , so nothing to add.
Hundreds: 3 + 1 = 4 . Write 4 .
Why this step? Same story — the machine idled, no repackaging needed.
Answer: 469 .
Verify: peel it back with subtraction: 469 − 145 = 324 . ✓ And a size sanity-check: both numbers are in the 100 –400 range, so a sum near 500 is reasonable (Estimation and Rounding ).
B , C · 968 + 875
Forecast: both numbers are 3 digits and near 1000 , so the sum should be about 1800 — that means a 4th digit appears . Predict carries in the ones AND tens columns.
Before computing, study the figure below: it shows the same sum written in four labelled columns (thousands, hundreds, tens, ones). Watch each pink "1" — that is a carry, and the pink arrow shows it hopping left into the next-higher column. The rightmost carry is born in the ones, the next in the tens, the last one has nowhere to land except a brand-new thousands column (shown in yellow). Read the figure top-to-bottom as top number, bottom number, then result; read the carries right-to-left as the ripple.
Ones: 8 + 5 = 13 . Write 3 , carry 1 .
Why this step? Using the base-ten split 13 = 10 ⋅ 1 + 3 (Division Algorithm ): 3 stays, the 10 becomes one ten next door. In the figure this is the first pink "1" leaving the ones column.
Tens: 6 + 7 + carry 1 = 14 . Write 4 , carry 1 .
Why this step? Now three things pile up: both tens digits plus the incoming carry. 14 = 10 ⋅ 1 + 4 — repackage again. This is the middle pink arrow.
Hundreds: 9 + 8 + 1 = 18 . Write 8 , carry 1 .
Why this step? Same overflow logic; the carry keeps rippling. This is the leftmost pink arrow, pointing into empty space.
Thousands: nothing was written here originally, but a carry arrived → write 1 .
Why this step? This is Case C : the carry had no home, so it creates a new place — the yellow digit in the figure. That is why a 3-digit + 3-digit sum can be 4 digits.
Answer: 1843 .
Verify: 1843 − 875 = 968 . ✓ Estimate: ≈ 970 + 880 = 1850 , and 1843 is right beside it. ✓
Intuition Why a carry never exceeds
1
The biggest a column can be is 9 + 9 + 1 = 19 (two nines plus an incoming carry). ⌊ 19/10 ⌋ = 1 . So no matter how long the chain, each carry is at most 1 — the machine can only ever "lend one ten forward."
D · 742 − 318
Forecast: scan each column top-vs-bottom: 2 vs 8 (top smaller → borrow!), 4 vs 1 (fine), 7 vs 3 (fine). Predict exactly one borrow, in the ones.
Ones: 2 − 8 would go negative, so borrow : turn 2 into 2 + 10 = 12 , then 12 − 8 = 4 .
Why this step? The parent identity t − u = ( t + 10 ) − u − 10 : we add 10 to the top so it can pay, and remember to remove that 10 from the next column.
Tens: the borrow costs the tens digit 1 , so 4 becomes 3 ; then 3 − 1 = 2 .
Why this step? That "− 10 in the ones" is exactly "− 1 in the tens." Bookkeeping stays exact — nothing invented.
Hundreds: 7 − 3 = 4 . Write 4 .
Why this step? No borrow reached here, so it's a clean subtraction.
Answer: 424 .
Verify (add-back): 424 + 318 = 742 . ✓ This is the golden check: Difference + Subtrahend = Minuend.
E · 4003 − 1547
Forecast: the ones digit 3 needs to borrow, but the columns above it are 0 , 0 — empty! Predict a borrow chain where each 0 turns into a 9 .
Study the figure before the steps: the four columns are labelled, and above each original top digit a yellow number shows what that digit becomes after the borrow passes through it (4 → 3 , 0 → 9 , 0 → 9 , 3 → 13 ). The blue arrows across the top show the borrow request travelling right-to-left, one column at a time. The pink bottom row is the final answer. The key lesson the picture teaches: a 0 can't lend, so it first borrows (becoming 10 ), immediately lends 1 onward, and is left showing 9 .
Ones: 3 − 7 is short. Borrow from the tens — but the tens is 0 , so the request passes up the line. After the chain settles, ones becomes 13 − 7 = 6 .
Why this step? A 0 has nothing to lend, so it must first borrow from its neighbour. This is the yellow 13 over the ones in the figure.
Tens: it borrowed to help the ones, so it briefly held 10 , immediately lent 1 down, and is left as 10 − 1 = 9 . Bottom digit is 4 : 9 − 4 = 5 .
Why this step? This is the "borrow to lend " move — every middle 0 becomes 9 (the yellow 9 over the tens).
Hundreds: same again — the 0 became 9 after passing the chain; bottom is 5 : 9 − 5 = 4 .
Why this step? The single original borrow is still being paid for, one column at a time — the second yellow 9 .
Thousands: the chain finally lands: 4 lent 1 → becomes 3 (yellow 3 ); bottom is 1 : 3 − 1 = 2 .
Why this step? The − 10 that started way back in the ones is settled here as a − 1 .
Answer: 2456 .
Verify: 2456 + 1547 = 4003 . ✓ Estimate: 4000 − 1500 = 2500 , close to 2456 . ✓
Common mistake The zero trap
A tempting wrong move is "there's nothing in the 0 , so skip it." The fix: the 0 borrows then immediately lends , so it becomes 9 , not blank. Miss this and every middle-zero subtraction is off.
F · three edge cases at once
Forecast: what should these obviously equal? a + 0 should give a . a − 0 should give a . a − a should give 0 . Predict those before computing.
758 + 0 = 758 .
Why this step? Adding 0 contributes nothing in any column, no carries. 0 is the additive identity .
758 − 0 = 758 .
Why this step? Subtracting 0 takes nothing away; every column is d i − 0 = d i , no borrow.
758 − 758 = 0 .
Why this step? Every column subtracts to 0 ; the result is all zeros, written simply as 0 . A number minus itself is the empty difference .
Answers: 758 , 758 , 0 .
Verify: 758 − 0 = 758 ✓; 0 + 758 = 758 ✓ (add-back on the third one). These identities are the boundary the machine must respect.
G · 312 − 500
Forecast: the whole top number (312 ) is smaller than the whole bottom (500 ). No amount of borrowing can conjure a 5 in the hundreds from a 3 . Predict a negative result.
Recognise the sign first. Since 312 < 500 , the true answer is negative. Rewrite as − ( 500 − 312 ) .
Why this step? Column borrowing assumes the top is at least the bottom overall. When it isn't, you swap and negate — the size is 500 − 312 , the sign is minus. See Negative Numbers and Integers .
Now subtract the larger from the smaller-labelled bottom, i.e. 500 − 312 .
Ones: 0 − 2 → borrow chain (Case E territory): 10 − 2 = 8 .
Tens: 0 became 9 after lending: 9 − 1 = 8 .
Hundreds: 5 lent 1 → 4 ; 4 − 3 = 1 .
So 500 − 312 = 188 .
Why this step? We compute the positive gap, then reattach the minus.
Attach the sign: 312 − 500 = − 188 .
Why this step? The gap is 188 and 312 is the smaller , so the difference points negative.
Answer: − 188 .
Verify: add the difference back to the subtrahend: − 188 + 500 = 312 . ✓ The check identity ( a − b ) + b = a still holds with negatives.
H · warehouse stock
A warehouse starts with 2 050 crates. On Monday it ships out 1 268 . On Tuesday a delivery adds 940 . How many crates now?
Forecast: "ships out" lowers the count, "delivery adds" raises it. Predict a number below 2050 after Monday, then back up on Tuesday — roughly 2050 − 1270 + 940 ≈ 1720 .
Translate (Word Problem Translation ): "ships out" → subtract; "adds" → add.
2050 − 1268 + 940.
Why this step? Keywords fix the operations before any arithmetic.
Do the operations left-to-right, so the subtraction comes first: 2050 − 1268 .
Why this step? Addition and subtraction share the same precedence, so by the left-to-right convention we evaluate 2050 − 1268 before adding 940 . (This is a rule about reading order, not associativity — subtraction is not associative, so we may not regroup freely.)
Now the borrow chain, walked one column at a time (top digits of 2050 are 2 , 0 , 5 , 0 ):
Ones: 0 − 8 is short → borrow. The tens is 5 , which can lend, so ones becomes 10 − 8 = 2 .
Tens: the 5 lent 1 , so it is now 4 ; then 4 − 6 is short → borrow again. The hundreds is 0 , so this borrow must chain further. After borrowing, the tens digit becomes 14 − 6 = 8 .
Hundreds: it was 0 and had to lend to the tens, so it first borrows from the thousands (becoming 10 ), immediately lends 1 down (leaving 9 )... but it had already been reduced by that lend, so it shows 9 − ... — cleaner to say: the 0 becomes 9 after the borrow-then-lend, and the bottom digit here is 2 , giving 9 − 2 = 7 .
Thousands: the 2 lent 1 down → becomes 1 ; bottom is 1 : 1 − 1 = 0 (no leading zero written).
So 2050 − 1268 = 782 .
Add the delivery: 782 + 940 .
Ones: 2 + 0 = 2 .
Tens: 8 + 4 = 12 → write 2 , carry 1 .
Hundreds: 7 + 9 + 1 = 17 → write 7 , carry 1 → new thousands digit 1 .
So 782 + 940 = 1722 .
Why this step? Standard carrying (Cases B/C) finishes the count.
Answer: 1722 crates.
Verify: run it backwards — 1722 − 940 + 1268 = 2050 . ✓ Matches the starting stock, so the whole story is consistent (units: crates throughout).
I · find the unknown digit □
In the correct addition below, one digit is hidden. Find it.
4 □ 6 + 158 6 2 4
Forecast: you can't add left-to-right here — you must reason from the answer backwards , one column at a time.
Ones column: 6 + 8 = 14 → digit 4 (matches the answer's 4 ), carry 1 .
Why this step? Confirms the ones and, crucially, hands a carry of 1 up to the tens — we need that.
Tens column: □ + 5 + carry 1 = 12 (the answer shows 2 in the tens, and there must be a carry into the hundreds because 4 + 1 = 5 = 6 ).
Why this step? The hundreds of the answer is 6 but 4 + 1 = 5 , so a carry of 1 must have come from the tens — meaning the tens sum was ≥ 10 , i.e. it equals 12 (to leave a 2 ).
Solve: □ + 5 + 1 = 12 ⇒ □ = 6 .
Why this step? Simple backward algebra once we know the tens must total 12 .
Answer: □ = 6 , so the top number is 466 .
Verify: 466 + 158 = 624 . ✓ Matches the given result exactly.
Recall Quick self-test across the matrix
Which case is 3009 − 12 ? ::: Case E — borrow chain across the two zeros.
Why can 487 + 765 have four digits? ::: Case C — a carry out of the hundreds creates a new thousands place.
What is 600 − 600 and which cell? ::: 0 , Case F (subtract equal numbers).
If the top number is smaller overall, what sign is the difference? ::: Negative — Case G, swap and negate.
First thing to do in a mixed word problem? ::: Translate keywords into + and − before computing (Case H).
Mnemonic The matrix in one breath
"Clean, Carry-chain, New column; Borrow, Zero-chain; Zero-edge, Negative, Words, Backwards." Nine behaviours — if your problem isn't one of these, look again.
Parent: Addition and subtraction — the engine these cases run on
Place Value and Base-Ten System — why columns cap at 9 and carries are always 1 .
Division Algorithm — a + b = 10 q + r is the carry split (Cases B, C).
Negative Numbers and Integers — the sign logic of Case G.
Estimation and Rounding — the "is my answer reasonable?" sanity checks used throughout.
Word Problem Translation — keyword→operation mapping for Cases H and I.