Introduction

MathOverflow is a Q&A website, which serves as an online community of mathematicians. While browsing through MathOverflow posts, I stumbled upon a rather peculiar result discovered by Simon Plouffe between 1974 and 1979. I'll borrow the statement verbatim.

Let the multiplication graph \( \frac{n}{m} \) be the graph with \( m \) points distributed evenly on a circle and a line between two points \( a, b \) when \( a \cdot n \equiv b \mod m \). These graphs look random but by carefully choosing \( n \) and \( m \) one finds intricate patterns.

So what are those so-called intricate patterns? Well, defying all expectation, it turns out that these graphs trace out cardiods!

Creating a Multiplication Graph

Once you get all the graphical boiler-plate taken care of, we can draw up a Modular Arithmetic Graph using the following psuedo-code!


# These uniquely define the graph
N = 40
M = 139

# Let's start off with some lables
labels = range(M)

# Add lines
for num1 in labels:
    for num2 in labels:
        if (num1 * N) % M == (num2) % M: draw(sym1, sym2)
        else: continue
            

Running through that workflow, I managed to re-create some Modular Multiplication Graphs featuring cardiods!

Your browser does not support SVG
Grid of Modular Multiplication Graphs
Resources and References

If you're interested in the math underlying these Modular Multiplication Graphs, I would definitely recommend checking out this fun Mathologer video. From there, you can work your way up to Simon Plouffe's original paper along with his other works.

Comment Section