Project Euler, competitive programming, and theory-heavy engineering notes.
Project Euler is still the deepest subsystem here, but it now sits alongside a dedicated competitive programming archive for ICPC and IOI. The site stays source-first: proofs, write-ups, and implementations remain editable in their original files.
The site now has two archive-scale problem-solving sections
Project Euler remains the largest corpus, and Competitive Programming now gives ICPC and IOI their own clean archive instead of being buried inside the repo.
The long-form mathematics archive
988 full problems with statements, proofs, final answers, and both C++ and Python implementations.
Browse Project Euler 02 Competitive ProgrammingICPC and IOI as source-first contest archives
389 entries with exact TeX write-ups and C++ implementations copied into a clean, GitHub-friendly structure.
Open the archive 03 AboutThe broader technical direction behind the archive
AI/ML engineering, algebra, post-quantum cryptography, and the workflow behind keeping these archives maintainable.
Read the backgroundThe deepest archive is still the Euler library
The front page stays editorial, but the archive and detail pages are optimized for actual use: scan, open, verify, copy, move on.
The mathematics stays visible
Problem statements, proofs, algorithm notes, complexity analysis, and answers on one page.
Browse the archive 02 C++ sourceReference implementation for performance-minded solves
Every problem page exposes the exact C++ file from the local Project Euler archive.
See a source page 03 Python sourceA second implementation for clarity and cross-checking
The Python version lives next to the writeup so the explanation and the code stay in sync.
Open a dual-language entryGood entry points into the largest archive
A few handpicked problems to show the range: warmup arithmetic, modular arithmetic, combinatorics, and one high-number late-archive problem.
Multiples of 3 and 5
Find the sum of all the multiples of 3 or 5 below 1000. That is, compute S = sum_(1 <= k < 1000, 3 | k or 5 | k) k.
Self Powers
The series 1^1 + 2^2 + 3^3 +... + 10^10 = 10,405,071,317. Find the last ten digits of the series 1^1 + 2^2 + 3^3 +... + 1000^1000.
250250
Find the number of non-empty subsets of {1^1, 2^2, 3^3,..., 250250^250250} whose element sum is divisible by 250. Give the answer modulo 10^16.
Eulercoin
Leonhard Euler was born on 15 April 1707. Consider the sequence a_n = 1504170715041707 * n mod 4503599627370517. An element of this sequence is called an Eulercoin if it is strictly smaller than al...
Recently updated Project Euler entries
These are pulled from the source file timestamps, so the homepage can surface recently touched Project Euler entries without manual editing.
Partition Rank Statistics
The rank of a partition is (largest part) - (number of parts). Let R(n) = sum_(lambda vdash n) rank(lambda). Find sum_(n=1)^100 R(n) mod (10^9+7).
Cyclotomic Polynomial Evaluation
The n -th cyclotomic polynomial Phi_n(x) is defined as the minimal polynomial over Q whose roots are the primitive n -th roots of unity. Compute: S = sum_(n=1)^500 Phi_n(2) (mod 10^9 + 7)
Gaussian Elimination Mod p
For p = 2 and n = 10, find the number of invertible 10 x 10 binary matrices, modulo 10^9 + 7.
Stirling Number Asymptotics
The Bell number B_n = sum_(k=0)^n S(n,k) counts the number of partitions of {1,..., n}. Find B_1000 mod (10^9+7).
The Euler corpus still drives the longest-form writing
The competitive programming section is source-first and intentionally lean. Project Euler remains the place where the site accumulates the most detailed written mathematics.