Hadwiger-Nelson problem

This activity came from watching this Numberphile video . A worksheet of the activities below is available here.

Suppose that we want to colour the whole plane so that any two points at distance 1 from each other would have different colors.

You can imagine this as walking on a tiled floor in jumps of 1 and each jump has to be onto a different colour.

What is the minimum number of colours we would need to use?

Finding an upper bound to the number of colours needed

Task 1

It doesn’t have to be a regular tiling, but would 4 colours work if we coloured the plane like above? How big would the squares have to be?

Task 2

Find a number of colours that would work for a square tiling. How big would the squares have to be?

Task 3

Show that we would need at most 7 colours using a different shape tile (isometric paper will be helpful!).

Finding an lower bound to the number of colours needed

Task 4

Use this diagram to show that we would need at least 3 colours to colour the plane.

Task 5

Create a graph of points to show that we need at least 4 colours.

Further reading 

This problem is called the Hadwiger–Nelson problem and was stated in 1950. It was recently (2018!) proved that you need at least 5 colours by an amaetur mathematician who was working on it as a break from his job as a maverick biologist intent on extending the human lifespan! The middle dot in the picture below has to be white rather than red, green, blue or yellow like the rest.  It is still an open problem to find the smallest number of colors. It could now be 5, 6 or 7 and nobody knows.





Platonic Solids on Amplify Polypad

Today we used inspiration from Nrich and mathsisfun.com to explore the Platonic solids on Polypad.

Task 1 – Dodecahedron

Go to https://polypad.amplify.com/p#polygons and make a net of a dodecahedron. You can keep adding pentagons together and then highlight them all and click Fold Net.  

If it is not quite right, click Unfold Net and then add/remove pentagons and try again.

Task 2 – Angle deficit

The angle deficit at a vertex of a polyhedron is a measure of how far short each angle sum is from 360°. For example, in a dodecahedron, three pentagons with interior angles of 108° meet at each vertex, so the angle sum is 324° and the angle deficit is 36°:

The total angle deficit is the sum of the deficits at each vertex.

Can you fill in the table for the Dodecahedron: 

Platonic Solids

Regular polygonsFacesVertex formAngle SumAngle DeficitNumber of VerticesTotal Angle Deficit

Task 3 – Make the nets and fill in the table for the other four Platonic Solids. These are 3D shapes where the faces are congruent regular polygons and the same number of faces meet at each vertex.

Task 4 – Find all the Archimedean Solids which are formed by two or more types of regular polygons, each with the same side length and such that each vertex has the same pattern of polygons around it. 

Google sheets of these tasks

Some solutions

Further reading





Practical Numbers

Practical Numbers

This activity was inspired by  this numberphile video.

20 is a practical number because it could be used to design a set of weights where all of its factors are the weights and you can weigh all the numbers from 1 to 20 using each weight only once.

The factors of 20 are: 1, 2, 4, 5, 10 and 20

And you can make the numbers 1 to 20 using combinations of these numbers (each number can be used a maximum of once):

So 20 is a practical number

Of course all powers of 2 are practical numbers, but can you find some others?

Do they have anything in common?

Are there an infinite number of practical numbers?

Once you’ve found some can you use them to generate more?

Using these facts:

  • The product of two practical numbers is also a practical number.
  • More strongly, the least common multiple of any two practical numbers is also a practical number.
  • if n is a practical number and d is one of its divisors then d must also be a practical number.

So for example with the primitive practical numbers 1 and 2 you can generate 2*2=4 

So 4 is not a primitive number as it can be generated from previous ones.

Can you circle all the practical numbers in this grid, using a different colour for primitive practical numbers?

Solution can be found here. To read more about Practical Numbers check out Wikipedia and this talk.

Using Python

Task 1


 Change the program so that the factors are given in a list (you can use e.g. factors.append(i) after setting up a blank list called factors 

Solution to Task 1

Task 2 – change the program so that instead of asking the user for a number it displays the factors of all the numbers from 1 to 30.

Solution to Task 2 

Task 3 



Write a program that starts as above and prints this:

[‘a’, ‘b’, ‘c’, ‘d’, ‘ab’, ‘ac’, ‘ad’, ‘bc’, ‘bd’, ‘cd’, ‘abc’, ‘abd’, ‘acd’, ‘bcd’, ‘abcd’]

This is a starting point if you are stuck.

Solution to Task 3

Task 4 

Adapt your program for Task 3 to work with any factor list up to 7

Solution to Task 4 up to length 7

Chatgpt solution for any length! 

Task 5

Combine your programs from Task 2 and Task 4 to list all the totals that can be made with the factors of numbers from  1 and 30.

It should display like this:

The factors of 1 are:


and all the totals you can make are:


The factors of 2 are:

[1, 2]

and all the totals you can make are:

[1, 2, 3]

The factors of 3 are:

[1, 3]

and all the totals you can make are:

[1, 3, 4]

The factors of 4 are:

[1, 2, 4]

and all the totals you can make are:

[1, 2, 4, 3, 5, 6, 7]

You can use this code to print a new line:


Solution to Task 5

Task 6

Find all the practical numbers between 1 and 30

Solution to Task 6 

Alternative solution that you can use to find all the practical numbers up to your choice of max number

Task 7

Watch this numberphile video!

Task 8

After watching the video can you think of some improvements to make your code more efficient?

Chaos theory – bouncing ball

Start with this Nrich activity:

Use your calculator to plug in some numbers. Start with a value for x, say  x=0.2, apply your equation and get y=0.64.

Now try again, this time using this new value for x: plug in x=0.64 and get y=0.9216.

Go again, with the new value x=0.9216 and get y=0.28901376.

Carry on repeating this process (called iterating) for as long as takes your fancy, and you’ll get a sequence of numbers:

0.2, 0.64, 0.9216, 0.28901376, ________________, ________________, ________________

What do you think would have happened if you had started this process with a value of 0.2001 for x rather than 0.2? Those two numbers are very close, almost the same, so you would think they’d produce a fairly similar sequence of numbers…

____,____,_________,_____________, ________________, ________________, ________________

Try this on a spreadsheet and graph your two sequences (against sequence number). What do you notice?

Then watch https://www.youtube.com/watch?v=6z4qRhpBIyA Then try and recreate it using the code below as a starting point.

Read here about the discovery of chaos theory.

A pdf of this activity is here.


This fun two player game has a lot of strategies to consider …

The rules (from Wikipedia) are

Each line segment is coloured either red or blue. One player (usually the first, or left, player) is only allowed to cut blue line segments, while the other player (usually the second, or right, player) is only allowed to cut red line segments.

On their turn, a player “cuts” (erases) any line segment of their choice. Every line segment no longer connected to the ground by any path “falls” (i.e., gets erased). According to the normal play convention of combinatorial game theory, the first player who is unable to move loses.

Try it out here.

Can you create your own starting grids so that …

Player blue wins, regardless of if they go first or second 

Player 1 wins, regardless of if they are red or blue 

Player 2 wins, regardless of if they are red or blue  

They might not all be possible!

Lots more to read here.

It is also interesting to analyse the “game value”, for example:

For some ideas on how to calculate the game value see this exploration.

Pick’s Theorem

We worked on ideas from this NRich activity today.

When the dots on square dotty paper are joined by straight lines the enclosed figures have dots on their perimeter (a) and often internal (b) ones as well.

Figures can be described in this way: (a,b).
For example, the red square has an (a,b) of (4,0), the grey triangle (3,1), the green triangle (5,0) and the blue hexagon (6,4):


  1. Can you draw all (4,0) shapes?
  2. Can you draw all (5,0) shapes?
  3. Can you draw all (4,1) shapes?
  4. Can you draw all (4,2) shapes?
  5. Can you draw various shapes with area 4cm2
  6. What do you notice about the area of the shapes from your work on questions 1-4?
  7. Can you come up with a formula for the Area in terms of a and b?

Here are our solutions.

For more info on this theorem see the solutions in the Nrich activity and watch this brilliant proof.