📲 Now on Google Play — free

Super Calculator is published. Install it straight from Google Play — no tester group, no sign-up. Android 7.0 or newer.

  • ✓ Free, no ads
  • ✓ Works fully offline
  • ✓ No account needed

No install needed — the same calculator runs right here, on iPhone, iPad and any computer.

Thanks to everyone who tested the app before release — your reports shaped this version. 🙏

What's new in version 1.4

  • Your own functions: menu → My functions, usable in the Expressions tab.
  • Keypad: a digit after = starts a new number, √ x² ∛ act on the last number, CE clears only that number, and results no longer show rounding noise (asin(0.5) = 30 in degrees).
  • Exact arithmetic beyond 16 digits, and a result used in the next calculation keeps its exact value: 1 ÷ 3 = × 3 = gives 1.
  • Number theory: Baillie–PSW primality test, long factorizations in the background with Cancel, and π(n) exact up to 10 million.
  • Physical keyboard, and paste that understands decimal commas and thousands separators.
  • Fixes across the Olympiad tools: polynomials, polygons (Pick, shoelace), radicals, discrete logarithm, and fractions or π in number fields.

Quick Start

Welcome to the olympiad calculator

  1. 1 Open the side menu (☰) and select Special Functions for the classic calculator keypad (~40 functions).
  2. 2 Enter a number and press any function button.
  3. 3 If the function needs more values, a pending operation indicator appears on screen.
  4. 4 For exact olympiad tools (fractions, geometry, polynomials, …) open the menu → Olympiad Tools.
  5. 5 The side panel (tablet) or bottom panel (mobile) shows automatic analysis of every entered number.
1-parameter functions execute immediately. 2+ parameter functions show an indicator and wait for more values.

Parameter System

1
1 parameter — immediate
Enter number → Press function → Result
E.g.: φ(12) → enter 12, press φ → shows 4
2
2-3-4 parameters — fixed
Enter value → Function → Value → = → (repeat if needed). Auto-executes when all parameters are filled.
E.g.: C(10,3) → enter 10 → C(n,k) → 3 → =
N
N parameters — variable
Enter value → Function → Value → = (add more). Press the same function again to execute.
E.g.: GCD(12,18,24) → 12 → GCD → 18 → = → 24 → GCD
Pending operation indicator "C(10, _)" means k is missing. "GCD(12, 18, _) [= add, GCD solve]" is a variable-length operation.

Keypad, expressions and your own functions

On the keypad

  • A digit typed after = starts a new number; an operator continues from the result.
  • √, x², x³ and ∛ act on the last number of an expression: 5 + 4 then √ gives 5 + 2.
  • CE clears only the number being typed; C clears everything.
  • A minus right after ×, ÷, ^ or mod is the sign of the next number: 2 × − 3 = −6.
  • Pasted numbers may use a decimal comma (1,5), thousands separators (1 234 567, 12,345.6), the minus sign (−3) or binary (0b101).

Physical keyboard

On a computer, or a tablet with a keyboard: digits, + − * / ^ ( ) . % and = type as on the keypad; Enter calculates, Backspace deletes, Delete is CE, Esc is C (or cancels a long calculation), and Ctrl+C / Ctrl+V copy and paste.

Expressions tab

Type a whole expression and press ▶ or Enter. Available: + − * / ^ ! mod, parentheses, sqrt, sin cos tan, asin acos atan, log (base 10, or log(b, x)), ln, exp, abs, floor, ceil, π and ℯ. Angles follow the DEG/RAD setting.

Multiplication may be implicit, with or without a space: 2π, 3 sin(30), 2(3+4). The ℯ key inserts Euler's number; a typed 2e-1 is scientific notation (0.2).

Your own functions

Menu → My functions: define, for example, f(x) = x^2 + 1 or h(a, b) = sqrt(a^2 + b^2), then use them in the Expressions tab: f(3) + h(3, 4) = 15. A function may use others you defined; the number-theory keys (φ, GCD…) are not available inside them.

Long calculations

The keys that factor n (φ, λ, μ, λL, ω, Ω, σ₀, σ, sopfr, sopf, rad and the primitive root) run in the background when n is above 10¹², with a Cancel button. If n has two very large prime factors, the app gives up after a while and says so instead of freezing.

Limits that keep the app responsive: n! up to n = 10,000; n!! and C(n,k) up to n = 20,000; Catalan numbers and derangements up to n = 10,000; F(n) up to n = 100,000; linear recurrences up to 10,000 terms.

High-Precision Mode

Optional toggle in Settings → "High precision mode" (with a 5–100 digit slider).

When ON, the transcendental/irrational functions — sin, cos, tan, asin, acos,
atan, ln, log, exp, √ and ∛ — are computed with CONSTRUCTIVE (computable) real
numbers: the value is exact internally and only rounded when displayed.

  • No floating-point error.   √2 (30 digits) = 1.41421356237309504880168872421
  • sin(45°) (30 digits) = 0.707106781186547524400844362105
  • Singularities are detected by construction: tan(90°) → "undefined"
    (instead of a misleading 1.6×10¹⁶).
  • All computation runs in a background isolate with a loader — the UI never
    freezes. (Powers that would explode to billions of digits, e.g.
    1.0006^99999999, are rejected instantly as "too large".)

Powered by a vendored copy of computable_reals (a Dart port of Hans Boehm's
constructive reals). See Settings → Open source licenses.

Number Theory

φφ(n) — Euler's Totient Function1 param▼
Counts how many integers from 1 to n are coprime with n (GCD(k,n)=1).
φ(n) = n × ∏(1 − 1/p) for each prime p | n
Examples
  • φ(1)=1
  • φ(9)=6 → [1,2,4,5,7,8]
  • φ(12)=4 → [1,5,7,11]
  • φ(p)=p−1 for prime p
Tips
  • Multiplicative: φ(mn)=φ(m)φ(n) if GCD(m,n)=1
  • Euler's theorem: a^φ(n)≡1 (mod n) if GCD(a,n)=1
  • Σ φ(d) for d|n = n
λλ(n) — Carmichael's λ Function1 param▼
Smallest m>0 such that a^m≡1 (mod n) for ALL a coprime to n. Always divides φ(n).
λ(p^k)=φ(p^k) if p odd λ(2)=1, λ(4)=2, λ(2^k)=2^(k−2) if k≥3 λ(n) = lcm of parts
Examples
  • λ(8)=2
  • λ(15)=lcm(2,4)=4
  • λ(p)=p−1
Tips
  • λ(n)|φ(n) always
  • λ(n)=φ(n) iff n has a primitive root
μμ(n) — Möbius Function1 param▼
Detects whether n is square-free and counts prime factors.
μ(1)=1 μ(n)=(−1)^k if n=p₁·…·pₖ (distinct primes) μ(n)=0 if p²|n
Examples
  • μ(1)=1
  • μ(6)=1
  • μ(30)=−1
  • μ(12)=0 (has 2²)
Tips
  • Möbius inversion: if g(n)=Σf(d), then f(n)=Σμ(d)g(n/d)
  • Σμ(d) for d|n = [n=1]
λLλL(n) — Liouville Function1 param▼
Completely multiplicative: λL(n)=(−1)^Ω(n).
λL(n) = (−1)^Ω(n)
Examples
  • λL(12)=(−1)³=−1 (Ω=3)
  • λL(36)=(−1)⁴=1 (Ω=4)
Tips
  • ΣλL(d) for d|n = 1 if n is a perfect square, 0 otherwise
ωω(n) — Distinct Prime Factors1 param▼
Counts the number of distinct primes dividing n.
ω(n) = k if n = p₁^a₁ × … × pₖ^aₖ
Examples
  • ω(12)=2 → [2,3]
  • ω(30)=3 → [2,3,5]
  • ω(p^k)=1
ΩΩ(n) — Prime Factors with Multiplicity1 param▼
Total number of prime factors counting repetitions.
Ω(n) = a₁ + a₂ + … + aₖ
Examples
  • Ω(12)=3 → 2×2×3
  • Ω(72)=5 → 2³×3² → 3+2
  • Ω(p)=1, Ω(p²)=2
σ₀σ₀(n) — Divisor Count1 param▼
Total number of positive divisors of n.
σ₀(n) = (a₁+1)(a₂+1)···(aₖ+1) if n=p₁^a₁×…
Examples
  • σ₀(12)=6 → [1,2,3,4,6,12]
  • σ₀(p)=2
  • σ₀(p²)=3
σσ(n) — Sum of Divisors1 param▼
Sum of all positive divisors of n.
σ(n) = Σ d for d | n
Examples
  • σ(6)=12 (perfect)
  • σ(12)=28
  • σ(p)=p+1
Tips
  • n is perfect ⟺ σ(n)=2n
  • n is abundant ⟺ σ(n)>2n
sopfrsopfr(n) — Sum of Primes with Repetition1 param▼
Sums the prime factors counting multiplicity.
sopfr(n) = a₁p₁ + a₂p₂ + … + aₖpₖ
Examples
  • sopfr(12)=2+2+3=7
  • sopfr(60)=12
sopfsopf(n) — Sum of Distinct Primes1 param▼
Sum of distinct primes dividing n.
sopf(n) = p₁ + p₂ + … + pₖ
Examples
  • sopf(12)=2+3=5
  • sopf(60)=10
radrad(n) — Radical1 param▼
Product of distinct primes dividing n (ABC Conjecture function).
rad(n) = ∏ p for p prime, p | n
Examples
  • rad(72)=6
  • rad(480)=30
  • rad(p)=p
n#n# — Primorial1 param▼
Product of all primes ≤ n.
n# = ∏ p for p prime, p ≤ n
Examples
  • 5#=30
  • 7#=210
  • 11#=2310
π(n)π(n) — Prime Counting Function1 param▼
Counts primes ≤ n. Exact up to n = 10,000,000 (sieve); beyond that, Riemann's R(x) approximation, marked "(approx)".
π(n) ~ n/ln(n) (Prime Number Theorem)
Examples
  • π(10)=4
  • π(100)=25
  • π(1,000,000)=78,498
drdr(n) — Digital Root1 param▼
Iterative digit sum until a single digit is obtained.
dr(n) = 1 + (n−1) mod 9 (for n > 0)
Examples
  • dr(493)=7
  • dr(999)=9
  • dr(n)≡n (mod 9)
⌊⌉⌊x⌋ / ⌈x⌉ — Floor and Ceiling1 param▼
Floor: greatest integer ≤ x. Ceiling: smallest integer ≥ x. Toggles between both.
⌊x⌋ ≤ x < ⌊x⌋+1 ⌈x⌉−1 < x ≤ ⌈x⌉
Examples
  • ⌊3.7⌋=3, ⌈3.7⌉=4
  • ⌊−2.3⌋=−3, ⌈−2.3⌉=−2
  • ⌊5⌋=⌈5⌉=5
VₚVₚ(n) — p-adic Valuation2 params: n → Vₚ → p → =▼
Maximum power of prime p dividing n.
Vₚ(n) = max[k : p^k | n]
Examples
  • V₂(24)=3
  • V₃(81)=4
  • V₅(100)=2
Tips
  • Legendre's formula: Vₚ(n!)=Σ⌊n/pⁱ⌋
  • Vₚ(ab)=Vₚ(a)+Vₚ(b)

Modular Arithmetic

moda mod b — Division Remainder2 params: a → mod → b → =▼
Remainder of dividing a by b.
a mod b = a − b × ⌊a/b⌋
Examples
  • 17 mod 5=2
  • 23 mod 7=2
  • −8 mod 3=1
a%na^b mod n — Modular Exponentiation3 params: a → a%n → b → = → n → =▼
Computes a^b mod n efficiently using repeated squaring O(log b).
Decompose b in binary and square successively
Examples
  • 2¹⁰⁰ mod 7=2
  • 3¹³ mod 11=5
  • Fundamental in RSA
Tips
  • Flow: enter a → a%n → enter b → = → enter n → =
a⁻¹a⁻¹ mod n — Modular Inverse2 params: a → a⁻¹ → n → =▼
Finds b such that a×b≡1 (mod n). Only exists if GCD(a,n)=1.
Extended Euclidean algorithm
Examples
  • 3⁻¹ mod 7=5 → 3×5=15≡1
  • 5⁻¹ mod 11=9
  • Does not exist if GCD(a,n)≠1
ordord_n(a) — Multiplicative Order2 params: a → ord → n → =▼
Smallest k>0 with a^k≡1 (mod n). Requires GCD(a,n)=1.
ord_n(a) = min[k > 0 : a^k ≡ 1 (mod n)]
Examples
  • ord₇(2)=3
  • ord₁₀(3)=4
Tips
  • ord_n(a) always divides φ(n)
  • a is a primitive root ⟺ ord_n(a)=φ(n)
(a/p)(a/p) — Legendre Symbol2 params: a → (a/p) → p → =▼
1 if a is a quadratic residue mod p, −1 if not, 0 if p|a. Requires p odd prime.
(a/p) ≡ a^((p−1)/2) (mod p) — Euler's Criterion
Examples
  • (2/7)=1
  • (3/7)=−1
  • (5/5)=0
(a/n)ⱼ(a/n)ⱼ — Jacobi Symbol2 params: a → (a/n)ⱼ → n → =▼
Generalization of Legendre for odd composite n. Uses quadratic reciprocity.
(a/n) = ∏(a/pᵢ)^eᵢ where n = ∏pᵢ^eᵢ
Examples
  • (2/15)=(2/3)(2/5)=(−1)(−1)=1
  • (a/n)=−1 ⟹ a is NOT a QR
gg — Primitive Root1 param▼
Smallest primitive root mod n (if exists). g is primitive if ord_n(g)=φ(n).
[g, g², …, g^φ(n)] = (ℤ/nℤ)*
Examples
  • g(7)=3
  • g(11)=2
  • Exists only for n=1,2,4,p^k,2p^k
GCDGCD — Greatest Common DivisorN params (variable, min. 2)▼
Largest integer dividing all values. Accepts 2 or more numbers.
GCD(a,b) via Euclidean algorithm
Examples
  • GCD(12,18)=6
  • GCD(12,18,24)=6
  • GCD(a,b)×LCM(a,b)=a×b
Tips
  • Flow: 12→GCD→18→GCD (executes)
  • For 3+: 12→GCD→18→=→24→GCD
LCMLCM — Least Common MultipleN params (variable, min. 2)▼
Smallest positive integer divisible by all values.
LCM(a,b) = a×b / GCD(a,b)
Examples
  • LCM(4,6)=12
  • LCM(3,5,7)=105
DiofDioph — Linear Diophantine Equation3 params: a → Dioph → b → = → c → =▼
Solves ax+by=c. Gives particular and general solution.
ax+by=c has solution ⟺ GCD(a,b)|c x=x₀+(b/g)t, y=y₀−(a/g)t
Examples
  • 3x+5y=1 → x=2+5t, y=−1−3t
  • 4x+6y=3 → No solution
TCRCRT — Chinese Remainder TheoremVariable (pairs a,m)▼
Solves a system of congruences x≡aᵢ (mod mᵢ).
x≡a₁(mod m₁), x≡a₂(mod m₂) → x≡r(mod lcm(m₁,m₂))
Examples
  • x≡2(mod 3), x≡3(mod 5) → x≡8(mod 15)
  • x≡1(mod 4), x≡2(mod 3) → x≡5(mod 12)
Tips
  • Flow: a₁→CRT→m₁→=→a₂→=→m₂→CRT
  • Moduli must be compatible

Combinatorics

n!n! — Factorial1 param▼
Product from 1 to n. Arbitrary precision. Up to n = 10,000.
n! = 1×2×…×n, 0!=1
Examples
  • 5!=120
  • 10!=3,628,800
  • 20!=2,432,902,008,176,640,000
n!!n!! — Double Factorial1 param▼
Product of integers with the same parity as n. Up to n = 20,000.
n!! = n×(n−2)×(n−4)×…
Examples
  • 7!!=105
  • 8!!=384
  • 0!!=1!!=1
C(n,k)C(n,k) — Combinations2 params: n → C(n,k) → k → =▼
Ways to choose k from n regardless of order. Up to n = 20,000.
C(n,k) = n! / (k!(n−k)!)
Examples
  • C(5,2)=10
  • C(10,3)=120
  • C(n,0)=C(n,n)=1
Tips
  • Pascal's identity: C(n,k)=C(n−1,k−1)+C(n−1,k)
  • C(n,k)=C(n,n−k)
V(n,k)V(n,k) — Variations2 params: n → V(n,k) → k → =▼
Ways to choose k from n WITH order.
V(n,k) = n! / (n−k)!
Examples
  • V(5,2)=20
  • V(10,3)=720
CatCat(n) — Catalan Numbers1 param▼
Counts binary trees, triangulations, Dyck paths, balanced parentheses. Up to n = 10,000.
Cₙ = C(2n,n)/(n+1)
Examples
  • C₀=1, C₁=1, C₂=2, C₃=5, C₄=14, C₅=42
D(n)D(n) — Derangements1 param▼
Permutations where no element remains in its original position. Up to n = 10,000.
D(n) = (n−1)(D(n−1)+D(n−2))
Examples
  • D(3)=2
  • D(4)=9
  • D(n)/n! → 1/e ≈ 0.3679
BellB(n) — Bell Numbers1 param▼
Total number of partitions of a set of n elements.
B(n) = Σ S₂(n,k) for k=0..n
Examples
  • B(3)=5
  • B(4)=15
  • B(5)=52
p(n)p(n) — Integer Partitions1 param▼
Ways to write n as a sum of positive integers (order does not matter).
Dynamic programming
Examples
  • p(4)=5 → [4,3+1,2+2,2+1+1,1+1+1+1]
  • p(10)=42
  • p(100)=190,569,292
S₂S₂(n,k) — Stirling 2nd Kind2 params: n → S₂ → k → =▼
Ways to partition n elements into exactly k non-empty subsets.
S₂(n,k) = k·S₂(n−1,k) + S₂(n−1,k−1)
Examples
  • S₂(4,2)=7
  • S₂(5,3)=25
s₁s₁(n,k) — Stirling 1st Kind (unsigned)2 params: n → s₁ → k → =▼
Permutations of n elements with exactly k cycles.
|s₁(n,k)| = (n−1)·|s₁(n−1,k)| + |s₁(n−1,k−1)|
Examples
  • s₁(4,2)=11
  • s₁(4,1)=6
F(n)F(n) — nth Fibonacci1 param▼
Computes F(n) exactly by fast doubling, in O(log n) steps. Up to n = 100,000.
F(0)=0, F(1)=1, F(n)=F(n−1)+F(n−2)
Examples
  • F(10)=55
  • F(50)=12,586,269,025
  • F(100)=354,224,848,179,261,915,075
Tips
  • F(n) mod m is periodic (Pisano period)
  • GCD(F(m),F(n))=F(GCD(m,n))
ΣdigBΣdigB — Digit Sum in Base b2 params: n → ΣdigB → b → =▼
Sums the digits of n written in base b.
If n=Σdᵢ×bⁱ, ΣdigB=Σdᵢ
Examples
  • ΣdigB(255,2)=8 → 11111111₂
  • ΣdigB(100,10)=1
  • ΣdigB(100,16)=10 → 64₁₆

Statistics

AMArithmetic MeanN params▼
Classic average of N numbers.
AM = (x₁+x₂+…+xₙ)/n
Examples
  • AM(3,7)=5
  • AM(2,4,6)=4
Tips
  • Flow: 3→Med A→7→Med A (executes)
GMGeometric MeanN params▼
nth root of the product. Positive values only.
GM = (x₁×x₂×…×xₙ)^(1/n)
Examples
  • GM(2,8)=4
  • GM(1,4,9)≈3.30
HMHarmonic MeanN params▼
Reciprocal of the arithmetic mean of the reciprocals. Positive values only.
HM = n/(1/x₁+1/x₂+…+1/xₙ)
Examples
  • HM(2,8)=3.2
  • HM(1,4,9)≈2.08
QMQuadratic Mean (RMS)N params▼
Root of the mean of squares (Root Mean Square).
QM = √((x₁²+x₂²+…+xₙ²)/n)
Examples
  • QM(3,4)≈3.54
  • QM(1,2,3)≈2.16
min/maxmin / max — Minimum and MaximumN params▼
Finds the smallest/largest value in a set of N numbers.
min(a₁,…,aₙ) and max(a₁,…,aₙ)
Examples
  • min(3,7,1)=1
  • max(3,7,1)=7

Mean Inequality (AM-GM-HM)

For positive numbers it always holds that:

HM ≤ GM ≤ AM ≤ QM

Equality holds only when all values are equal.
This inequality is fundamental in olympiads.

Olympiad Tools

A dedicated training section — open the side menu → Olympiad Tools. Each tool is a small form: fill the inputs, press Compute, and read the exact answer. Results use exact arithmetic (fractions, surds) wherever possible.

Fractions — Exact Rational Arithmetic

In olympiads, answers are exact: 22/7, not 3.14… The Fractions tool uses arbitrary-precision rationals p/q, always reduced to lowest terms with canonical sign.

Fraction arithmeticTwo fractions and an operation (+−×÷). Result as fraction, mixed number and decimal.
Simplify / convertReduces any fraction or decimal to lowest terms.
1/2 + 1/3 = 5/6 | 18/12 → 3/2 = "1 1/2" = 1.5 | 7/3 → "2 1/3"

Radicals — Exact Simplification

Simplifies radicals to the form coefficient·√radicand with no perfect-square factors inside the root.

√nSimplify a square root.
ⁿ√nSimplify the k-th root by extracting d^k factors.
a/√bRationalize the denominator: a/√b → (a/b)·√b.
a/(c+√d)Rationalize with conjugate: multiply by (c−√d)/(c²−d).
√72 → 6√2 | ³√54 → 3·³√2 | 1/√2 → √2/2 | 1/(1+√2) = −1+√2

Geometry

Geometry covers ~25% of IMO problems. Results are exact where possible: Heron area as a surd, circumradius R and inradius r as surds, shoelace areas as exact fractions.

Triangle from sidesType (scalene/isosceles/equilateral + right/acute/obtuse), perimeter, exact Heron area, circumradius R, inradius r.
(3,4,5) → scalene, right, area=6, R=5/2, r=1 (13,14,15) → scalene, acute, area=84, R=65/8, r=4
Pythagorean triplesLists primitive triples (a,b,c) with a²+b²=c², gcd=1, using Euclid's formula m>n, gcd(m,n)=1, different parity.
Up to 50: (3,4,5), (5,12,13), (8,15,17), (7,24,25), (20,21,29)
ShoelaceExact polygon area from rational coordinates, with a drawing of the polygon. Enter vertices as "x,y" separated by ";".
"0,0; 4,0; 0,3" → area = 6
Pick's theoremFor integer-vertex polygons: A = I + B/2 − 1. Computes exact area, boundary lattice points B and interior points I, and draws them on the polygon.
"0,0; 5,0; 5,4; 0,4" → A=20, B=18, I=12
Triangle centersCentroid G, circumcenter O and orthocenter H as exact fractions; incenter approximated. Draws the triangle, the four centers and the Euler line (H = 3G − 2O).
A=(0,0), B=(4,0), C=(0,3) → O=(2, 3/2), H=(0,0), G=(4/3, 1)

Polynomials — Exact Analysis

Polynomials with rational coefficients. Accepts natural notation: x^2-5x+6, 3/2x-1, -x^3+x.

Analyze polynomialDegree, rational roots (rational root theorem), Vieta's relations, discriminant (degree 2 and 3), derivative.
x²−5x+6 → rational roots: 2,3 · sum=5 · product=6 · disc=1 · derivative: 2x−5
Solve quadraticDiscriminant, nature of roots, exact rational roots when possible, approximate real roots.
Real roots of cubicDepressed cubic / Cardano / trigonometric method (3 real roots case).
x³−6x²+11x−6 → 1, 2, 3
RuffiniSynthetic division of p(x) by (x − c) with every step shown; verifies the remainder theorem p(c) = remainder.
x³−6x²+11x−6 ÷ (x−1) → x²−5x+6, remainder 0
Linear system 2×2 / 3×3Cramer's rule with exact fractions. Rows "a,b,…,k" (coefficients + constant) separated by ";". Shows the determinant.
"2,1,5; 1,-1,1" → x=2, y=1 (det=−3)

Analyze polynomial also plots y = p(x) marking rational roots and extrema. It works on a single variable x, already expanded — for several variables or parentheses use Algebra.

Algebra — Polynomials in Several Variables

Symbolic algebra with exact rational coefficients: expanding a product, collecting like terms and comparing two expressions are all the same operation here, so an identity is checked by expanding both sides.

Notation: variables are a letter with an optional subscript (a, x, x1); multiplication may be implicit (2ab, (a+b)(a−b), 3(x+1)); exponents accept ^ or superscripts ((a+b+c)²). Terms are printed in graded lexicographic order, the usual convention.

Expand and simplifyExpands the expression and collects like terms. Also reports the degree, the number of terms, the variables, and whether the result is homogeneous or symmetric.
(a+b+c)² → a² + 2ab + 2ac + b² + 2bc + c² (degree 2, 6 terms, homogeneous, symmetric) (a+b)⁵ → a⁵ + 5a⁴b + 10a³b² + 10a²b³ + 5ab⁴ + b⁵
Check identityExpands both sides and compares them exactly. If they differ, it shows the difference, which is where the error is.
(a+b)³ vs a³+3a²b+3ab²+b³ → ✓ (a+b)² vs a²+b² → difference = 2ab
Common factorPulls out the greatest common monomial together with the rational content, so the factor inside the parentheses has integer coefficients.
2a²b + 4ab² → 2ab(a + 2b) x/2 + y/3 → (1/6)(3x + 2y)
Substitute / evaluateValues may be numbers or expressions, and substitution is simultaneous. Any variable left unassigned stays in the result.
(a+b+c)² with a=1, b=2, c=3 → 36 (a+b+c)² with a=1, b=2 → c² + 6c + 9
Coefficient of a monomialThe coefficient of one monomial in the expansion, without reading the whole result.
a²b in (a+b+c)³ → 3 x⁵ in (1+x)¹⁰ → 252
Partial derivative∂/∂x of the expansion, exact (no numerical approximation).
∂/∂a (a+b)³ → 3a² + 6ab + 3b²
Notable productsThe classic identities for your own A and B, which may themselves be expressions: (A±B)², (A+B)(A−B), (A±B)³ and the sum/difference of cubes.
A=x, B=2y → (A+B)² = x² + 4xy + 4y² | (A+B)(A²−AB+B²) = x³ + 8y³
(a+b)ⁿSymbolic binomial expansion term by term, with its list of coefficients.
n=5 → a⁵ + 5a⁴b + 10a³b² + 10a²b³ + 5ab⁴ + b⁵ (1, 5, 10, 10, 5, 1)

Division is allowed by a number or by a monomial that divides every term: (a²b+ab²)/(ab) → a + b. An expansion that would be too large to read (or to compute quickly) is refused with a message instead of freezing the app.

Advanced Number Theory

Tools for the harder number-theory problems that appear in national and international olympiads.

√a mod pModular square root (Tonelli-Shanks). Returns ±r such that r²≡a (mod p) for prime p.
√2 mod 7 → ±3 (3²=9≡2)
ax≡b (mod n)Linear congruence — all solutions in [0,n). Has solutions iff gcd(a,n)|b. Shows the solutions highlighted on a "modular clock" (n ≤ 120).
3x≡6 (mod 9) → x∈{2,5,8}
Sieve of EratosthenesNumbered grid up to n (≤ 400) with primes highlighted; lists the primes and π(n).
n=100 → π(100)=25: 2, 3, 5, 7, 11, …, 97
x²−Dy²=1Pell equation — fundamental solution via continued fraction of √D.
D=61 → x=1766319049, y=226153980
CF(√n)Periodic continued fraction [a₀;(a₁,…,aₖ)] of √n.
√7=[2;(1,1,1,4)] | √2=[1;(2)]
Sums of squaresDecompose n as a²+b² (when possible) and always as a²+b²+c²+d² (Lagrange's theorem).
25=3²+4² | 7=0²+1²+1²+√5... → 0²+1²+1²+√5
Frobenius numberLargest integer that CANNOT be represented as a non-negative combination of the given denominations (gcd must be 1).
{6,9,20} → 43 | {3,5} → 7 (Chicken McNugget)
Quadratic residues mod nThe set {x² mod n} and its size. For odd prime p there are (p+1)/2 residues.
mod 11 → {0, 1, 3, 4, 5, 9} (6 residues)
φ, τ, σ, μTable of multiplicative functions (totient, divisor count, divisor sum, Möbius) for n in a range (max 30 rows).
n=12 → φ=4, τ=6, σ=28, μ=0

Step by Step — Worked Procedures

Shows the algorithm step by step, not just the answer. Essential for understanding and teaching the methods.

Euclidean algorithmEach division step plus the Bézout identity gcd(a,b)=x·a+y·b.
gcd(240,46): 240=5·46+10 / 46=4·10+6 / 10=1·6+4 / 6=1·4+2 / 4=2·2+0 → gcd=2
Prime factorizationEach successive division shown: n÷d=quotient.
360: 360÷2=180 / 180÷2=90 / 90÷2=45 / 45÷3=15 / 15÷3=5 → 2³×3²×5
CRTCombines congruences pairwise showing each intermediate step.
x≡2(3), x≡3(5), x≡2(7) → x≡23(mod 105)
RuffiniAlso available under Polynomials: synthetic division by (x − c) with each column shown.

Complex Numbers & Sequences

Roots of unityAll n-th roots e^(2πik/n), drawn on the unit circle as a regular polygon. Their sum is always 0 for n>1.
De Moivre powerComputes (re+im·i)^n. Example: (1+i)^8=16, (1+i)^4=−4.
n-th roots of complexAll n roots, evenly spaced on a circle of radius |z|^(1/n).
Linear recurrenceGenerates terms of aₙ=c₁aₙ₋₁+…+cₖaₙ₋ₖ with given seeds. Works with rational coefficients.
Fibonacci: coeffs=[1,1], seeds=[0,1] → 0,1,1,2,3,5,8,13,21,34 Lucas: seeds=[2,1] → 2,1,3,4,7,11,18 Pell: coeffs=[2,1], seeds=[0,1] → 0,1,2,5,12,29
Pascal row n[C(n,0),…,C(n,n)]. Row sum = 2^n. Also: multinomial coefficients.
Row 6 = 1, 6, 15, 20, 15, 6, 1 (sum=64)
(a+b)ⁿFull binomial expansion with superscript formatting (n ≤ 30).
(a+b)³ = a³ + 3a²b + 3ab² + b³
Pascal mod mPascal's triangle modulo m drawn as a colored grid (up to 128 rows); counts coefficients divisible by m. With m=2 the Sierpiński fractal appears (Kummer/Lucas theorems).
32 rows, m=2 → Sierpiński

Statistics — Exact Descriptive

Descriptive statisticsCount, min/max/range, mean, median and variance as exact fractions; mode(s); standard deviation approximated.
2, 4, 4, 5, 7 → mean=22/5, median=4, mode=4, σ²=66/25
QM ≥ AM ≥ GM ≥ HMThe four classical means of a positive list — AM and HM exact, QM and GM approximate — verifying the chain of inequalities.
1, 2, 4 → AM=7/3, GM=2, HM=12/7

Matrices — Exact Linear Algebra

Fraction-exact (no floating-point error). Rows separated by ";", entries by ","; two matrices separated by "|".

DeterminantDeterminant of a square matrix by Gaussian elimination.
"6,1,1; 4,-2,5; 2,8,7" → det = −306
InverseExact inverse (fractions); reports singular matrices.
"4,7; 2,6" → [[3/5, −7/10], [−1/5, 2/5]]
A × BMatrix product of two matrices.
"1,2; 3,4 | 5,6; 7,8" → [[19,22],[43,50]]
Solve A·x = b (n×n)Exact solution of a square system, or "no unique solution" if singular.
"2,1,1; 1,2,1; 1,1,2 | 1,1,1" → x=y=z=1/4
Rank & transposeMatrix rank and its transpose.

Calculus — Numerical

Numerical analysis of any function f(x) (e.g. x^2+sin(x), 1/x, exp(x)). Trigonometry in radians.

Derivative f'(x₀)Central differences with Richardson extrapolation.
d/dx (x²+sin x) at 1 ≈ 2.540302306
Definite integral ∫Composite Simpson's rule over [a,b].
∫₀¹ x² dx ≈ 0.3333333333
LimitTwo-sided numerical limit; reports "does not exist" when the sides differ.
limx→0 sin(x)/x ≈ 1

Practice Mode

Access via Olympiad Tools → Practice. The app presents a problem; type
your answer — it tells you immediately if you are right and tracks your
score for the session.

Topics: φ(n) Euler's totient, GCD, n! factorial, C(n,k) combinations,
σ₀(n) divisor count, digit sum, a mod b, F(n) Fibonacci.

Tip: The checker tolerates leading zeros and extra spaces.

Numeric Analysis Panel

When any number is entered the right panel (tablet) or bottom panel
(mobile) automatically shows:

  • Properties: digits, parity, sign
  • Representations: binary, octal, hexadecimal
  • Primality: Baillie–PSW, factorization
  • Neighboring primes: previous and next
  • Divisors: complete list, sum, count
  • Classifications: perfect square/cube, perfect power, Fibonacci,
    triangular, palindrome

For numbers with ≤ 15 digits, it also shows:

  • Arithmetic functions: φ, λ, μ, ω, Ω, sopfr, sopf, rad, dr
  • Classifications: square-free, powerful, Harshad, semiprime,
    abundant / deficient / perfect

Note: pressing CE (Clear Entry) clears the analysis panel immediately.

Key Olympiad Formulas

Fundamental Identities

• Euler's theorem:    a^φ(n) ≡ 1 (mod n)  if GCD(a,n)=1
• Fermat's little:   a^(p−1) ≡ 1 (mod p)  if p prime
• Wilson:             (p−1)! ≡ −1 (mod p) ⟺ p is prime
• Legendre's formula: Vₚ(n!) = Σᵢ ⌊n/pⁱ⌋
• Lucas:              C(n,k) mod p = ∏ C(nᵢ,kᵢ) mod p
• Σ φ(d) for d|n = n
• Σ μ(d) for d|n = [n=1]
• φ(mn) = φ(m)φ(n)·GCD(m,n)/φ(GCD(m,n))
• GCD(F(m),F(n)) = F(GCD(m,n))
• AM ≥ GM ≥ HM  (mean inequality)

Quick Reference Table

n     φ(n)  λ(n)  μ(n)  σ(n)   ω   Ω
1     1     1     1     1      0   0
6     2     2     1     12     2   2
12    4     2     0     28     2   3
30    8     4     −1    72     3   3
60    16    4     0     168    3   4
100   40    20    0     217    2   4