Suppose you have a complete list of real numbers between 0 and 1 — every possible infinite decimal. It doesn't matter how you arranged it. The proof works against any arrangement.
Look at the diagonal: the 1st digit of number 1, the 2nd digit of number 2, the 3rd digit of number 3... Now construct a new number by changing each diagonal digit. The new number differs from every number on the list. The list was supposed to be complete — contradiction.
The constructed number (in green) differs from row 1 in position 1,
from row 2 in position 2, and so on. It cannot appear anywhere on the list —
yet it is a perfectly valid real number between 0 and 1.
No matter how cleverly you build the list, this procedure constructs an escape.
The real numbers are uncountably infinite — strictly larger than the
countable infinity of natural numbers used to index the list.
Gödel used the same move to find true-but-unprovable statements inside any
sufficiently powerful formal system. Turing used it to show no algorithm
can decide whether an arbitrary program halts. One proof. Three domains.
→ The essay about what this means