Subtract with column borrowing — see every borrow, every column difference, and the final result step by step. Free and educational.
Home » Math Calculators » Long Subtraction Calculator
Long subtraction (column subtraction) subtracts multi-digit numbers by stacking them, working right to left, and borrowing from the next column whenever a digit is too small. It is addition’s mirror image: where addition carries tens leftward, subtraction borrows tens rightward. Our free Long Subtraction Calculator shows every borrow and every column difference, so the algorithm is completely transparent.
The borrow is regrouping in reverse: 10 ones become 1 ten when moving left, so 1 ten becomes 10 ones when moving right. In 503 − 278, the ones column needs 3 − 8 — impossible — so the tens column lends 10 ones, making it 13 − 8 = 5, and the tens column drops by one. The calculator narrates each borrow exactly like this.
Subtraction is also addition’s check: if a + b = c, then c − b = a. The column steps the calculator shows let you verify any addition by subtracting back — the paired algorithms keep each other honest.
Column subtraction processes each place value right to left: ones, tens, hundreds. At each column, compute top − bottom. If the top digit is smaller, borrow 1 from the next column left — that 1 represents ten of the current unit, so the top digit grows by 10 while the lending column shrinks by 1.
The borrow is regrouping, the same principle as carrying, reversed. In 503 − 278: ones need 3 − 8, so borrow from tens — but tens is 0, so borrow from hundreds first (5 → 4, tens → 10), then tens lends to ones (10 → 9, ones → 13). Now: ones 13−8 = 5, tens 9−7 = 2, hundreds 4−2 = 2. Result: 225. Borrowing cascades through zeros.
Why right-to-left? Borrows flow rightward (large to small units) — the mirror of carries flowing left. Starting at the ones ensures each column knows its final top digit before subtracting. The direction is forced by the borrow flow, just as addition’s is forced by carries.
Subtraction is the inverse of addition: 503 − 278 = 225 exactly when 225 + 278 = 503. This duality means every subtraction is checkable by adding back — the calculator’s steps support both directions of verification.
Per column right to left: if top < bottom, borrow 1 (top += 10, left digit −= 1, cascading through zeros); write top − bottom.
If bottom > top overall, the result is negative: compute the reverse and negate.
Ones: 3 < 8, borrow (cascade through tens 0): ones → 13, 13 − 8 = 5. Tens: 9 − 7 = 2. Hundreds: 4 − 2 = 2. Result: 225. Check: 225 + 278 = 503 ✓.
Ones: 0 < 1, cascade: thousands 1→0, hundreds→9, tens→9, ones→10. 10 − 1 = 9; 9 − 0 = 9; 9 − 0 = 9; 0. Result: 999. The classic cascade through zeros.
Ones: 5 < 8, borrow: 15 − 8 = 7 (tens 2→1). Tens: 1 < 1? No: 1 − 1 = 0. Hundreds: 7 − 3 = 4. Result: 407. Check: 407 + 318 = 725 ✓.
Every column: equal digits, no borrows. Result: 0. Identical numbers subtract to zero — the steps confirm the quiet case.
A shopper has $503 in gift cards and spends $278: 503 − 278 = 225 remaining. The borrow cascade (3 < 8 borrowing through the zero tens) is exactly what the calculator narrates — and what a manual receipt check would redo.
A project budget of $10,000 spends $1: 10000 − 1 = 9999 via the full cascade. Finance staff verify such round-number subtractions by the borrow chain, not by calculator faith.
A student checks addition: 225 + 278 = 503 claimed. Subtract back: 503 − 225 = 278 — the column steps confirm the original addition. Subtraction is addition’s audit trail.
Borrowing 1 from column k+1 adds 10 to column k because 1·10^{k+1} = 10·10^k — the borrowed unit is ten of the current unit. The total value never changes: decreasing digit d_{k+1} by 1 while increasing d_k by 10 preserves Σd_i·10^i. Every borrow is a value-preserving regroup, narrated as “borrowing” for intuition.
The cascade through zeros is regrouping composed: 1000 = 0·1000 + 10·100 = 9·100 + 10·10 = … each step preserves value while pushing tens rightward until the needy column is fed. The calculator’s cascade steps are this chain made explicit — 1000 − 1 becomes 0 thousands, 9 hundreds, 9 tens, 10 ones, then subtract.
In two’s complement binary, computers subtract without borrowing: a − b = a + (~b + 1). The borrow logic is replaced by addition of the complement — but the mathematical content (regrouping across place values) is identical. Human borrowing and machine complement arithmetic are two implementations of one idea.
Subtraction’s borrow chain has the same worst case as addition’s carry chain: 1000 − 1 ripples through every digit — O(n) sequential steps. This is why subtraction, like addition, is O(n) time but hard to parallelize naively. The borrow-lookahead circuits in ALUs mirror carry-lookahead: compute “will this column need a borrow” for all columns simultaneously, then resolve. Human cascading and machine lookahead solve the same dependency.
Subtracting decimals mirrors addition: align points, pad zeros, borrow as usual. 10.00 − 3.47 = 6.53 — the cascade through the zeros is the same 1000 − 1 pattern in decimal dress. Money subtraction is decimal column subtraction, nothing more.
Complementary addition (counting up) is subtraction’s friendlier twin: for 1000 − 647, count 647 → 650 (3), → 700 (50), → 1000 (300): total 353. Cashiers count change this way — no borrowing, just forward jumps. Both methods agree; counting up is often faster mentally.
In binary, subtraction borrows 2s not 10s: 1010₂ − 0111₂ borrows 2 per column. The algorithm is base-agnostic — only the borrow’s value changes. This is why the borrow concept transfers to every positional system.
Checking with nines works for subtraction too: digital root of (a − b) ≡ root(a) − root(b) mod 9. For 503 − 278 = 225: root(503) = 8, root(278) = 17 → 8, 8 − 8 = 0; root(225) = 9 → 0 mod 9 ✓ (9 ≡ 0). Cast out nines on every hand computation.
Austrian subtraction (the “shopkeeper’s method”) adds up instead of borrowing: for 503 − 278, find what adds to 278 to reach 503 — 278 → 280 (2), → 300 (20), → 500 (200), → 503 (3): total 225. No borrows, just forward jumps — many find it faster and less error-prone than borrowing.
Checking subtraction by adding is non-negotiable in bookkeeping: every disbursement record shows both the subtraction and the add-back verification. The habit catches transposed digits — the most common manual error — because 503 − 278 = 225 must satisfy 225 + 278 = 503. Auditors trust the pair, never a lone subtraction.
Ones: 0 < 5, cascade: 2000 → 1|9|9|10. 10−5 = 5; 9−7 = 2; 9−1 = 8; 1−0 = 1. Result: 1825. Check: 1825+175 = 2000 ✓.
Align: 810 − 079. Ones: 0 < 9, borrow: 10−9 = 1 (tens 1→0). Tens: 0 < 7, borrow: 10−7 = 3 (hundreds 8→7). Hundreds: 7−0 = 7. Result: 731.
Ones: 0 < 9, borrow: 10−9 = 1 (tens 0→9 after cascade, hundreds 1→0). Tens: 9−9 = 0. Result: 1. Neighbors differ by 1, as they must.
Subtract 700 − 389 by columns by hand, narrating each borrow. Verify with the calculator’s step list.
Compute 5000 − 4999. Predict the answer before borrowing — then watch the cascade produce it.
Check the addition 4,785 + 2,693 = 7,478 by subtracting: compute 7,478 − 2,693 and confirm you get 4,785.
A cashier makes change for $10.00 on a $3.47 purchase: 1000 − 347 cents. The borrow cascade: 1000 → 0|9|9|10, then 10−7 = 3, 9−4 = 5, 9−3 = 6 → 653 cents = $6.53. The cashier counts it back: 3 pennies, 1 nickel… wait, 653 = 6 dollars, 2 quarters, 3 pennies. The column steps are the count-back script.
When the register’s total disagrees, the manager replays the borrow chain — the cascade through zeros is where trainees err (forgetting the 9s). The calculator’s narrated steps are the training drill: every borrow spoken aloud until it is automatic.
The Long Subtraction Calculator subtracts non-negative whole numbers with right-to-left column subtraction, narrating each borrow (including cascades through zeros), listing per-column steps with place-value names, and handling bottom-greater-than-top by computing the reverse difference and negating.
Stack numbers right-aligned. Work right to left: if the top digit is smaller, borrow 1 from the left (top += 10, left digit −= 1, cascading through zeros), then subtract. Write each column difference.
Regrouping: 1 ten becomes 10 ones. When a column’s top digit is too small, the next column lends 1 (worth ten here), so the subtraction can proceed. Total value is preserved.
Cascade: 1000 → 0|9|9|10, then 10−1=9, 9−0=9, 9−0=9 → 999. The borrow ripples through all three zeros.
The result is negative. Compute bottom − top by columns, then negate: 278 − 503 = −(503 − 278) = −225.
Borrows flow rightward (large units to small). Starting at the ones guarantees each column’s final top digit is settled before you subtract.
Add back: difference + subtrahend must equal the minuend. 503 − 278 = 225 checks via 225 + 278 = 503.
225. Ones: borrow → 13−8 = 5; tens: 9−7 = 2; hundreds: 4−2 = 2.
Yes — align the decimal points so place values match, pad with zeros if needed, then subtract columns as usual.
Cite this page as: Long Subtraction Calculator. Sigma Calculator. Retrieved October 10, 2026, from https://sigmacalculator.net/math-calculators/long-subtraction-calculator/
Last updated: October 10, 2026