IB Maths Resources from Intermathematics

On this site you will find IB Maths and IGCSE Maths Resources for IB Maths explorations and investigations. I’ve tried to build connections with real life maths, Theory of Knowledge (ToK) and ideas for maths careers. There are also maths videos, puzzles and lesson resources.

Welcome to the site.  There are hundreds of pages of maths ideas to explore.  Scroll down to see.

Many thanks!

If you are a teacher then please also visit my new site:  intermathematics.com.  This new site has been designed specifically for teachers of mathematics at international schools.  Some of the content includes:

  1. Over 150 original pdf worksheets designed to cover the Analysis and Interpretations SL and HL syllabus.  Each worksheet is designed to last between 40 minutes and 1 hour and combines skills practice and past paper style questions.  All the pdf worksheets have fully typed up answers for ease of marking.
  2. Twenty original Paper 3 investigations.  Each investigation is designed to last between 90 minutes and 2 hours.  Fully worked solutions are also provided.
  3. An Exploration Guide, Modelling for Explorations Guide and Statistics for Explorations Guide to introduce students to the essentials behind getting an excellent mark on their exploration coursework.
  4. 35 flip chart quizzes specifically covering the IGCSE 0580 syllabus – each with around 20 pages and worked solutions to exam questions
  5. Full worked solution notes for both the IGCSE 0580 syllabus and the IGCSE 0606 Additional syllabus.
  6. Enrichment and engaging classroom activities, such as maths club activities, treasure hunts, quizzes, investigations and more.
  7. Mock exam papers:I have made a Paper 1 and Paper 2 SL (both 80 marks) and Paper 1 and Paper 2 HL full mock exam paper (both 110 marks) for the new syllabus.

You can see an example of some of the content included below (you can also download the pdf here).

Click to access introduction-pack-v3.pdf

Screen Shot 2021-05-19 at 9.55.51 AM

IB Maths Revision

There’s a really fantastic website been put together to help IB students with topic revision both for during the course and for the end of Year 12 school exams and Year 13 final exams.  I would strongly recommend students use this as a resource during the course (not just for final revision in Y13!) There are specific resources for HL and SL students for both Analysis and Applications.  Some of my favourite resources include:

1. Questionbank

Screen Shot 2018-03-19 at 4.42.05 PM.pngThere is a beautifully designed and comprehensive Questionbank takes you to a breakdown of each main subject area (e.g. Algebra, Calculus etc) and then provides a large bank of graded questions.  What I like about this is that you are given a difficulty rating, as well as a mark scheme and also a worked video tutorial.  Really useful!

2. Practice Exams

Screen Shot 2021-05-19 at 10.05.18 AM

The Practice Exams section takes you to a large number of ready made quizzes, exams and predicted papers.   These all have worked solutions and allow you to focus on specific topics or start general revision.  This also has some excellent challenging questions for those students aiming for 6s and 7s.

3.  IB Maths Key Concepts Videos

Screen Shot 2021-05-19 at 10.14.00 AM

Each course has a dedicated video tutorial section which provides 5-15 minute tutorial videos on every single syllabus part – handily sorted into topic categories.

I would really recommend everyone making use of this – there is a mixture of a lot of free content as well as premium content so have a look and see what you think.

My colleague has just made a fantastic set of video tutorials for the SL Applications syllabus.  So far he’s made over 60 videos – with more to come!  I really like the on screen use of the GDC and clear examples given.  Very useful for Applications students.

Playlist 1 (Number and Algebra)

Playlist 2 (Functions)

Playlist 3 (Geometry and Trigonometry)

Playlist 4 (Statistics and Probability)

Spotting fake data with Benford’s Law

In the current digital age it’s never been easier to fake data – and so it’s never been more important to have tools to detect data that has been faked.  Benford’s Law is an extremely useful way of testing data – because when people fake data they tend to do so in a predictable way.  Benford’s Law looks at the probability that a number in certain data set (many measurements, street address, stock prices etc.) begins with a given number (its leading digit).  Whilst we might expect the leading digits (d) would be equally likely occur, in reality they follow the following equation:

Screen Shot 2021-10-06 at 6.45.30 AM

So for example we can see that a leading digit of 1 is much more likely than a leading digit of a 9:

Screen Shot 2021-10-06 at 6.47.32 AM

Testing some data

I wanted to test some data to see if it did indeed follow Benford’s Law.  So, I downloaded an Excel file with 531 data points from the CDC website.  This gave the moving 7-day average Covid cases per 100,000 people for every day from 12th March 2020 to 3rd October 2021.   I then used the nice Excel techniques shown above in the video to manipulate the data into a useful form.  Once this had been done I could then use Desmos to plot this data (dot plot and left aligned frequency histogram).  You can see this data below:

Screen Shot 2021-10-06 at 6.36.52 AM

The red curve is the continuous (rather than discrete) curve created by working out the expected frequencies for each digit.  On Desmos I generated this by the following equation:

Screen Shot 2021-10-06 at 7.24.14 AM

We can see that our data largely follows our expected curve – so we would not have any evidence to suggest faked data!  We could conduct a Chi-Squared test to measure the goodness of fit of our data (this is also explained in the video).


This is a simple but effective method to test for faked data – if data fails this test it doesn’t necessarily mean it was faked (eg. data on heights of men in cm will clearly have nearly all 1s as leading digits!) but most non-random real life data measurements do follow this rule.  Try to find your own data (try to do this with a large data set) and try for yourself.


Screen Shot 2020-07-25 at 12.22.54 PM

Weaving a Spider Web II: Catching mosquitoes

First I thought I would have another go at making a spider web pattern – this time using Geogebra.  I’m going to use polar coordinates and the idea of complex numbers to help this time.

Parametrically I will define my dots on my web by:

Screen Shot 2020-07-25 at 12.24.37 PM

Here r will dictate the distance of the dot from the origin, p will dictate how many dots I will have before I return to the starting point, and then I will vary n from 1 to p.

For example, if I have a distance of 1 from the origin then r = 1.  I decide to have 10 dots in one cycle, therefore p =10.  This gives the following:

Screen Shot 2020-07-25 at 12.24.47 PM

Now if I plot all these points as n varies from 1 to 10 I will get the following graph:

Screen Shot 2020-07-25 at 12.29.34 PM

Here I joined up all the dots to their neighbors and also to the origin.  If you know about complex numbers you might notice that we can represent these points as complex numbers, and these are the 10th roots of unity.

Screen Shot 2020-07-25 at 12.24.51 PM

Following the same method I now change the distance from the origin (so r is changed).  This then will give me the following web:

Screen Shot 2020-07-25 at 12.33.00 PM


Finding the optimum web design

I’m now going to explore some maths suggested by the excellent Chalkdust magazine (recommended for some great exploration ideas).  In their “Spider Witch Project” they suggest the following idea to work out how a spider can make sure they catch their prey.

We start with lots of assumptions and simplifications.

Screen Shot 2020-07-25 at 9.44.36 PM

Say we have the web above, distances in cm.  Let’s say that the inner green circle is no use for catching flies (this is where the spider wants to stay, and so flies will avoid this area).  So excluding this circle we have 2 additional concentric circle-like rings, and 10 radial lines from the centre.  This gives us a total of 20 areas (like the one shaded red).

Changing to concentric circles 

Screen Shot 2020-07-25 at 9.44.47 PM

Now let’s change our web into perfect circles.  We still have 20 areas in which the spider aims to catch their prey.  Let’s say that a spider will only catch their prey if the area it flies into is such that it is caught from all sides (i.e if the area is too large it may fly through the middle, or simply touch one strand but be able to escape).

For this particular design – with 2 concentric circles outside the centre area, the question is how many radial lines through the centre should the spider spin?  If it spins too few radial lines then its prey will not be caught, but if it spins too many then it will be wasting precious time (and energy) spinning its web.

Next lets work out the average of one of these red areas (in cm squared).  This will be:

Screen Shot 2020-07-26 at 7.44.06 AM

Next let’s assume that our spider wants to catch a mosquito.  Let’s say the mosquito is 3mm by 4mm with a 2D plan cross sectional area of 12 mm squared.  And let’s say that the mosquito will not be caught in the web unless the area of the red area is the same size or smaller than the mosquito’s 2D plan cross sectional area.  In this case we can see that the mosquito will escape:

Screen Shot 2020-07-26 at 7.57.50 AM

So, let’s see how many radial lines the spider needs to spin if it only has 2 concentric rings outside the “green zone”.  Here n will represent the number of radial lines from the centre:

Screen Shot 2020-07-26 at 7.57.56 AM

So, we can see that a spider wanting to catch a mosquito might need to make at least 105 radial lines to catch its prey.  This doesn’t seem to realistic.  So, let’s modify our model to see how this compares to real life.

Real life

Screen Shot 2020-07-26 at 8.09.42 AM

This particular spiderweb has around 20 concentric circles (counting double strands) and around 38 radial lines.  Let’s see how many radial lines we would predict from our model.

If we have a radius of around 6cm for this web (around the average for a spider web), and take an inner radius of 1cm for simplicity, then with 20 concentric circles we would predict:

Screen Shot 2020-07-26 at 9.04.02 AM

So a spider would need at least 46 radial lines to catch their prey.  This is not too far away from the real life case in this case of 38 radial lines.

Further study

This could make a very interesting exploration.  You can get some more ideas on this by reading the Chalkdust article where they go into ideas of optimisation for the time taken.

This topic shows how a good investigation should progress.  Start with a very simple case, make lots of assumptions, then see what happens.  If you reach a conclusion then go back and try to make your initial case more complicated, or revisit your assumptions to see how realistic they were.


Screen Shot 2020-07-24 at 8.47.56 PM

Weaving a Spider Web

I often see some beautiful spider webs near my house, similar to the one pictured above (picture from here).  They clearly have some sort of mathematical structure, so I decided to have a quick go at creating my own.

Looking at the picture above there are 2 main parts, an inner spiral, then a structure of hanging threads from lines which radiate from the centre.

Firstly I will use the general parametric equation of a hypocycloid:

Screen Shot 2020-07-24 at 8.52.28 PM

and take the special case when a = 10 and b = 9:

Screen Shot 2020-07-24 at 8.52.34 PM

This gives the following graph:

Screen Shot 2020-07-24 at 9.00.30 PM

I can then vary the value of n in the following equations:

Screen Shot 2020-07-24 at 8.52.42 PM

Which generates the following:

Screen Shot 2020-07-24 at 9.02.33 PM

Next, I can generate the spiral in the centre by using an Archimedean spiral, plotting the curve in polar form as:

Screen Shot 2020-07-24 at 9.06.12 PM

Which now gives:

Screen Shot 2020-07-24 at 9.06.23 PM

Lastly, I want to have straight lines radiating from the centre going through the vertices of the graphs.  I can notice that at these vertices the gradient will be undefined (as we can’t define the gradient at a sharp point).  Therefore I can differentiate and look for when the gradient will be undefined.

Screen Shot 2020-07-24 at 8.53.02 PM

I can see that this will be undefined when the denominator is zero.  Therefore:

Screen Shot 2020-07-24 at 8.53.49 PM

I can notice that all the vertices are are on the same lines, therefore I can simply choose n =9 to make my life easier, and then solve for t.   I use the fact that sine is an odd function to help here.

Screen Shot 2020-07-24 at 8.54.13 PM

Here p is an integer.  I’ll then rearrange the first of these two equations for t to show how I can then find my equations of the lines.

Screen Shot 2020-07-24 at 8.54.24 PM

If I now substitute this value of t back into my parametric equations I get:

Screen Shot 2020-07-24 at 8.54.44 PM

So, this will tell me the coordinates of the vertices of the “sharp points” of the graph.  Therefore the equation of the straight lines through these points and also through the origin are given by the first equation below. I can then choose my values of p (with p an integer) to get specific solutions.  For example when I choose p = 1 above I get the equation of a line which will pass through one of these vertices:

Screen Shot 2020-07-24 at 8.54.49 PM

Let’s check that this works:

Screen Shot 2020-07-24 at 9.16.44 PM


Yes!  So, we can use this method to find the other lines radiating from the centre.  This gives us our final spider web:

Screen Shot 2020-07-24 at 8.49.13 PM


So, there we go, a quick go at making a spider web – quite a simplistic pattern, but still utilising parametric equations, polar coordinates and also calculus and trigonometric equations.



Screen Shot 2020-07-24 at 8.53.58 PM


Elliptical Curve Cryptography

Elliptical curves are a very important new area of mathematics which have been greatly explored over the past few decades.  They have shown tremendous potential as a tool for solving complicated number problems and also for use in cryptography.

Andrew Wiles, who solved one of the most famous maths problems of the last 400 years, Fermat’s Last Theorem, using elliptical curves.  In the last few decades there has also been a lot of research into using elliptical curves instead of RSA encryption to keep data transfer safe online.  So, what are elliptical curves?  On a simple level they can be regarded as curves of the form:

y² = x³ +ax + b


If we’re being a bit more accurate, we also need 4a³ + 27b² ≠ 0.  This stops the graph having “singular points” which cause problems with the calculations.  We also have a “point at infinity” which can be thought of as an extra point added on to the usual x,y plane representing infinity.  This also helps with calculations – though we don’t need to go into this in any more detail here!

Addition of two points A and B

What makes elliptical curves so useful is that we can create a group structure using them.  Groups are very important mathematical structures because of their usefulness in being applied to problem solving.  A group needs to have certain properties.  For example, we need to be able to combine 2 members of the group to create a 3rd member which is also in the group.  This is how it is done with elliptical curves:


Take 2 points A and B on y² = x³ -4x + 1.  In the example we have A = (2,1) and B = (-2,-1).   We now want to find an answer for A + B which also is on the elliptical curve.  If we add them as we might vectors we get (0,2) – but unfortunately this is not on the curve.  So, we define the addition A + B through the following geometric steps.


We join up the points A and B.  This line intersects the curve in one more place, C.


We then reflect the point C in the x axis. We then define this new point C’ = A + B.  In this case this means that (2,1) + (-2,-1) = (1/4, -1/8).

Addition of 2 points when A = B

We have to also be able to cope with the situation when the point A and B are the same.   Here we create the line through A which is the tangent to the curve at that point:

We then use the same transformation as before to say that A+B = C’.  For example with the curve y² = x³ -12x, if we start with the point A(-2,4) then this transformation tells us that A + A = (4,-4).

Elliptical curves over finite fields

For the purposes of cryptography we often work with elliptical curves over finite fields.  This means we (say) only consider integer coordinate solutions and work in modulo arithmetic (mod prime).

Say we start with the curve y² = x³ +x+1, and just look at the positive integer solutions mod 7.  (Plotted using the site here).

When x = 1,

y² = 1³ +1 + 1

y² = 3

So this has no integer solution.

Next, when x  = 2 we have:

y² = 2³ +2 +1 = 11.

However when we are working mod 7 we look at the remainder when 11 is divided by 7 (which is 4).  So:

y² = 4 (mod 7)

y = 2 or y = -2  = 5 (mod 7)

When x = 3 we have:

y² = 3³ +3 +1 = 31

y² = 3 (mod 7)

which has no integer solutions.

In fact, all the following coordinate points satisfy the equation (mod 7):

(2,2), (0,1), (0,6), (2,5).

Addition under modulo arithmetic

Let’s look at the coordinate points we calculated before for the elliptical curve y² = x³ +x+1 (integers solutions and mod 7) – they form a group under addition.  (Table generated here)

In order to calculate addition of points when dealing with elliptical curves with integer points mod prime we use the same idea as expressed above for general graphs.

The table tells us that (0,1) + (0,1) = (2,5).  If we were doing this from the graph we would draw the tangent to the curve at (0,1), find where it intersects the graph again, then reflect this point in the x axis.  We can do all this algebraically.

First we find the gradient of the tangent when x = 0:

Next we have to do division modulo 7 (you can use a calculator here, and you can also read more about division modulo p here).

Next we find the equation of the tangent through (0,1):

Next we find where this tangent intersects the curve again (I used Wolfram Alpha to solve this mod 7)

We then substitute the value x = 2 into the original curve to find the y coordinates:

(2,2) is the point where the tangent would touch the curve and (2,5) is the equivalent of the reflection transformation.  Therefore our answer is (2,5).  i.e (0,1) + (0,1) = (2,5) as required.

When adding points which are not the same we use the same idea – but have to find the gradient of the line joining the 2 points rather than the gradient of the tangent.  We can also note that when we try and add points such as (2,5) and (2,2) the line joining these does not intersect the graph again and hence we affix the point an infinity as (2,5) + (2,2).

Using elliptical codes for cryptography

Even though all this might seem very abstract, these methods of calculating points on elliptical curves form the basis of elliptical cryptography.  The basic idea is that it takes computers a very long time to make these sorts of calculations – and so they can be used very effectively to encrypt data.

Say for example two people wish to create an encryption key.

They decide on an elliptical curve and modulo. Let’s say they decide on y² = x³ +x+1 for integers, mod 7.

This creates the addition group

Next they choose a point of the curve.  Let’s say they choose P(1,1).

Person 1 chooses a secret number n and then sends nP (openly).  So say Person 1 chooses n = 2.  2(1,1) = (1,1) + (1,1) = (0,2).  Person 1 sends (0,2).

Person 2 chooses a secret number m and then sends mP (openly).  So say Person 2 chooses m = 3.  3(1,1) = (1,1) + (1,1) + (1,1) = (0,2) + (1,1) = (0,5).  Person 2 sends (0,5).

Both Person 1 and Person 2 can easily calculate mnP (the secret key).

Person 1 receives (0,5) and so does 2(0,5) = (0,5) + (0,5) = (1,1).  This is the secret key.

Person 2 receives (0,2) and so does 3(0,2) = (0,2) + (0,2) +(0,2) = (1,1).  This is the same secret key.

But for a person who can see mP and nP there is no quick method for working out mnP – with a brute force approach extremely time consuming. Therefore this method can be successfully used to encrypt data.

Screen Shot 2021-07-18 at 9.55.30 AM

Prime Spirals – Patterns in Primes

One of the fundamental goals of pure mathematicians is gaining a deeper understanding of the distribution of prime numbers – hence why the Riemann Hypothesis is one of the great unsolved problems in number theory and has a $1 million prize for anyone who can solve it.  Prime numbers are the the building blocks of our number system and are essential to our current encryption methods such as RSA encryption.  Hence finding patterns in the primes is one of the great mathematical pursuits.

Polar coordinates

The beautiful prime spiral was generated above on Desmos using polar coordinates.  We can see a clear spiral pattern – so let’s see how to create this.  Polar coordinates (r, θ) need a length (r) from the origin and an angle of anti-clockwise rotation from the origin (θ).  So for example in polar coordinates (2,2) means a length of 2 from the origin and a rotation of 2 radians.  By considering trigonometry and the unit circle we can say that the polar coordinates (r, θ) are equivalent to the Cartesian coordinate (r.cosθ, r.sinθ).

Plotting prime pairs

So we plot the first few prime pairs:

Polar: (2,2).  Cartesian: (2cos2, 2sin2).

Polar: (3,3).  Cartesian: (3cos3, 3sin3).

Polar: (5,5).  Cartesian: (5cos5, 5sin5).

In Desmos (making sure we are in radians) we input:

Screen Shot 2021-07-18 at 10.18.41 AM

We can then change the Desmos graph view to polar (first click on the spanner on the right of the screen).  This gives the first 3 points of our spirals. Note I have labeled the points as polar coordinates.

Screen Shot 2021-07-18 at 10.21.16 AM

I then downloaded the first 1000 prime numbers from here. I then copied this list of comma separated values and pasted it into an empty part of square brackets M = [ ] in Desmos to create a list.

Screen Shot 2021-07-18 at 10.24.41 AM

I can then plot every point in the list as a prime pair by doing the following:

Screen Shot 2021-07-18 at 10.26.27 AM

We can then generate our prime spiral for the first 1000 prime pairs:


Just to see how powerful Desmos really is, I then downloaded all the prime numbers less than or equal to 100,000 from here.  This time we see the following graph:


We can see that we lose the clear definition of the spiral – though there are still circular spirals with higher densities of primes than others.  Also we can see that there are higher densities of the primes on some of the radial lines out from the origin – and other radial lines where no primes appear.

Prime Number Theorem

We can also use our Desmos result to investigate another (more fundamental) result about the distribution of prime numbers.  The prime number theorem states:

Screen Shot 2021-07-20 at 4.54.47 PM

Here pi(N) is the number of prime numbers less than or equal to N.  The little squiggle means that as N gets large pi(N) becomes better and better approximated by the function on the RHS.

For our purple “spiral” above we downloaded all the primes less than or equal to 100,000 – and Desmos tells us that there were 9,592 of them.  So let’s see how close the prime number theorem gets us:

Screen Shot 2021-07-20 at 5.03.27 PM

We can see that we are off by an error of around 9.46% – not too bad, though still a bit out.  As we make N larger we will find that we get a better and better approximation.

Let’s look at what would happen if we took N as 1,000,000,000.  From Wikipedia we can see that there are 50,847,534 primes less than or equal to 1,000,000,000.  Therefore:

Screen Shot 2021-07-20 at 5.11.00 PMThis time we are off by an error of only 5.10%.  Have a look at the table of values in Wikipedia to find how large N has to be to be within 1% accuracy.

So this is a nice introduction to looking for patterns in the primes – and a good chance to explore some of the nice graphical capabilities of Desmos.  See if you can find any more patterns of your own!

Screen Shot 2021-07-14 at 3.22.09 PM

Getting a 7 in IB Maths Exploration Coursework

I’ve teamed up with Udemy – the world’s leading provider of online courses to create a comprehensive online guide to the exploration.  It includes 9 tutorial videos of essential information designed to ensure you get the best possible grade. You will also get a 60 page pdf Exploration Guide (worth $7.50) for free.

The IB Maths coursework is worth 20% of the final grade – but many students score poorly on this, and sometimes because of poor advice.  Gain the inside track on what makes a good coursework piece from an IB Maths Examiner as you learn all the skills necessary to produce something outstanding.   The video tutorials will cover

1) The tools required to pick an excellent topic,

2) Looking at how to gain a deep understanding of the criteria points,

3) Non calculator technique to demonstrate thorough understanding,

4) Exploring top tips for making beautiful graphs and modeling using Desmos,

5) Comparing “good” versus “bad” examples of coursework.

6) Achieving a Level 7 – what you need to do to hit the top criteria levels.

There is more than 140 minutes of video tutorial content as well as a number of multiple choice quizzes to aid understanding.  There are also a number of pdf downloads to support the lesson content – such as a criteria checklist, examples of topics to research in more detail, a initial submission sheet and also some data to use in Desmos graphing.

See the free preview here.

Anscombe’s Quartet was devised by the statistician Francis Anscombe to illustrate how important it was to not just rely on statistical measures when analyzing data.  To do this he created 4 data sets which would produce nearly identical statistical measures.  The scatter graphs above generated by the Python code here.

Statistical measures

1) Mean of x values in each data set = 9.00
2) Standard deviation of x values in each data set  = 3.32
3) Mean of y values in each data set = 7.50
4) Standard deviation of x values in each data set  = 2.03
5) Pearson’s Correlation coefficient for each paired data set = 0.82
6) Linear regression line for each paired data set: y = 0.500x + 3.00

When looking at this data we would be forgiven for concluding that these data sets must be very similar – but really they are quite different.

Data Set A:

x = [10,8,13,9,11,14,6,4,12,7,5]

y = [8.04, 6.95,7.58,8.81,8.33, 9.96,7.24,4.26,10.84,4.82,5.68]

Data Set A does indeed fit a linear regression – and so this would be appropriate to use the line of best fit for predictive purposes.

Data Set B:

x = [10,8,13,9,11,14,6,4,12,7,5]

y = [9.14,8.14,8.74,8.77,9.26,8.1,6.13,3.1,9.13,7.26,4.74]

You could fit a linear regression to Data Set B – but this is clearly not the most appropriate regression line for this data.  Some quadratic or higher power polynomial would be better for predicting data here.

Data Set C:

x = [10,8,13,9,11,14,6,4,12,7,5]

y = [7.46,6.77,12.74,7.11,7.81,8.84,6.08,5.39,8.15,6.42,5.73]

In Data set C we can see the effect of a single outlier – we have 11 points in pretty much a perfect linear correlation, and then a single outlier.  For predictive purposes we would be best investigating this outlier (checking that it does conform to the mathematical definition of an outlier), and then potentially doing our regression with this removed.

Data Set D:

x = [8,8,8,8,8,8,8,19,8,8,8]

y = [6.58,5.76,7.71,8.84,8.47,7.04,5.25,12.50,5.56,7.91,6.89]

In Data set D we can also see the effect of a single outlier – we have 11 points in a vertical line, and then a single outlier.  Clearly here again drawing a line of best fit for this data is not appropriate – unless we remove this outlier first.

The moral of the story

So – the moral here is always use graphical analysis alongside statistical measures.  A very common mistake for IB students is to rely on Pearson’s Product coefficient without really looking at the scatter graph to decide whether a linear fit is appropriate.  If you do this then you could end up with a very low mark in the E category as you will not show good understanding of what you are doing.  So always plot a graph first!

Hailstone Numbers

Hailstone numbers are created by the following rules:

if n is even: divide by 2

if n is odd: times by 3 and add 1

We can then generate a sequence from any starting number.  For example, starting with 10:

10, 5, 16, 8, 4, 2, 1, 4, 2, 1…

we can see that this sequence loops into an infinitely repeating 4,2,1 sequence.  Trying another number, say 58:

58, 29, 88, 44, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1, 4, 2, 1…

and we see the same loop of 4,2,1.

Hailstone numbers are called as such because they fall, reach one (the ground) before bouncing up again.  The proper mathematical name for this investigation is the Collatz conjecture. This was made in 1937 by a German mathematian, Lothar Collatz.

One way to investigate this conjecture is to look at the length of time it takes a number to reach the number 1.  Some numbers take longer than others.  If we could find a number that didn’t reach 1 even in an infinite length of time then the Collatz conjecture would be false.

The following graphic from wikipedia shows how different numbers (x axis) take a different number of iterations (y axis) to reach 1.  We can see that some numbers take much longer than others to reach one. Some numbers take over 250 iterations – but every number checked so far does eventually reach 1.

For example, the number 73 has the following pattern:

73, 220, 110, 55, 166, 83, 250, 125, 376, 188, 94, 47, 142, 71, 214, 107, 322, 161, 484, 242, 121, 364, 182, 91, 274, 137, 412, 206, 103, 310, 155, 466, 233, 700, 350, 175, 526, 263, 790, 395, 1186, 593, 1780, 890, 445, 1336, 668, 334, 167, 502, 251, 754, 377, 1132, 566, 283, 850, 425, 1276, 638, 319, 958, 479, 1438, 719, 2158, 1079, 3238, 1619, 4858, 2429, 7288, 3644, 1822, 911, 2734, 1367, 4102, 2051, 6154, 3077, 9232, 4616, 2308, 1154, 577, 1732, 866, 433, 1300, 650, 325, 976, 488, 244, 122, 61, 184, 92, 46, 23, 70, 35, 106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1…

No proof yet

Investigating what it is about certain numbers that leads to long chains is one possible approach to solving the conjecture. This conjecture has been checked by computers up to a staggering 5.8 x 1018 numbers. That would suggest that the conjecture could be true – but doesn’t prove it is. Despite looking deceptively simple, Paul Erdos – one of the great 20th century mathematicians stated in the 1980s that “mathematics is not yet ready for such problems” – and it has remained unsolved over the past few decades.  Maybe you could be the one to crack this problem!

Exploring this problem with Python.

We can plot this with Python – such that we also generate a nice graphical representation of these numbers. The graph above shows what happens to the number 500 when we follow this rule – we “bounce” up to close to 10,000 before falling back into the closed loop after around 100 iterations.

Numbers with large iterations:

871 takes 178 steps to reach 1:

77,031 takes 350 steps to reach 1:

9,780,657,630 takes 1132 steps to reach 1:

If you want to explore this code yourself, the following code has been written to run on repl.it.  You can see the code yourself here, and I have also copied it below:

Have a play – and see what nice graphs you can draw!

Chaos and strange Attractors: Henon’s map

Henon’s map was created in the 1970s to explore chaotic systems.  The general form is created by the iterative formula:

The classic case is when a = 1.4 and b = 0.3 i.e:

To see how points are generated, let’s choose a point near the origin.  If we take (0,0) the next x coordinate is given by:

We would then continue this process over several thousands iterations.  If we do this then we get the very strange graph at the top of the page – the points are attracted to a flow like structure, which they then circulate round.  The graph above was generated when we took our starting coordinate as (0.1,0.1), let’s take a different starting point.  This time let’s have (1.1, 1.1):

  We can see that exactly the same structure appears.  All coordinates close to the origin will get attracted to this strange attractor – except for a couple of fixed points near the origin which remain where they are.  Let’s see why.  First we can rewrite the iterative formula just in terms of x:

Next we use the fact that when we have a fixed point the x coordinate (and y coordinate) will not change.  Therefore we can define the following:

This allows us to then make the following equation:

Which we can then solve using the quadratic formula:

Which also gives y:

So therefore at these 2 fixed points the coordinates do not get drawn to the strange attractor.

Above we can see the not especially interesting graph of the repeated iterations when starting at this point!

But we can also see the chaotic behavior of this system by choosing a point very close to this fixed point.  Let’s choose (0.631354477, 0.631354477) which is correct to 9 decimal places as an approximation for the fixed point.  

We can see our familiar graph is back.  This is an excellent example of chaotic  behavior – a very small change in the initial conditions has created a completely different system.

This idea was suggested by the excellent Doing Maths With Python – which is well worth a read if you are interested in computer programing to solve mathematical problems.

Website Stats



All content on this site has been written by Andrew Chambers (MSc. Mathematics, IB Mathematics Examiner).

New website for International teachers

I’ve just launched a brand new maths site for international schools – over 1500 pdf pages of resources to support IB teachers

Explore here!

Free HL Paper 3 Questions

Eight P3 investigation questions and fully typed mark scheme (around 240 marks)

Available to download here

IB Maths Exploration Guides

Three comprehensive pdf guides to help you get excellent marks on your maths exploration coursework.

Available to download here.

Recent Posts

Follow IB Maths Resources from Intermathematics on WordPress.com