Choose any numbers as your primes, and each one colours its multiples
Every number from 0 up is a tile, in rows. At the start every tile is grey, except 0 and 1, which are black and white and never change.
Click a grey number to choose it as a prime. It turns a bright colour, and all its multiples turn a pale shade of the same colour. A multiple cannot be chosen. A number with several of your primes as factors takes the colour of the one you chose first.
Click a prime again to remove it, in any order. Its multiples go back to grey, or take the colour of another of your primes that divides them. Undo reverses the last change, and Clear removes every prime.
Eratosthenes, a Greek scholar of the 3rd century BC, found prime numbers this way. Choose 2, then 3, 5, 7 and so on, each time the smallest grey number. Next prime does this for you.
The smallest grey number is always a true prime, whatever you chose before it. Any smaller factor of it is already coloured, so one of your primes divides that factor. That prime would divide the number too, and colour it.
After 2, 3, 5 and 7, every grey number below 121 is prime. 121 = 11 × 11 is the first grey number that is not, and 11 is the next prime to choose. Once you have chosen every prime up to one prime, the grey numbers below the square of the next are all prime.
Choose your own primes, and the sieve leaves a different set of grey numbers. Choose 4 before 2, and 4 keeps its own colour, although 2 divides it.
The base writes every number in another base, from binary to sexagesimal. Most bases show the decimal value in smaller figures under each number. Dozenal shows none, and writes every number on the page in dozenal. For ten and eleven it uses Pitman's digits: 2, a turned 2, and 3, a turned 3. To type them, use X and E. The other bases past 10 use letters, so in hexadecimal f is fifteen. Base 60 writes each place as two decimal digits, as a clock does: 1:05 is sixty-five.
The row width sets how many numbers sit in each row, and it is written in the base too. A new base keeps the width's digits, so a width of 10 always gives one column for each last digit, and 100 one for each last two. The multiples of a number that divides the width fall in straight columns, and other multiples run in diagonals. With six in a row, every prime after three sits under 1 or 5. With thirty, the primes after five sit in eight of the thirty columns, and with two hundred and ten, in forty-eight of them.
The grid runs from 0 to 999,999,999,999,999, one less than 1015, and a row holds up to a billion numbers. The page never factorises a number to colour it. It divides the number by each prime you have chosen, and a division costs the same at any size. The limit comes from JavaScript, which holds whole numbers exactly only up to 253, about 9 × 1015.