# How one would solve the Cisternian cipher problem?

## Premise

I was looking at a problem from the Panini Linguistics Olympiad called "Cistercian Numerals". It is, as the title suggests, about Cistercian numerals, a code used by monks in exile. The medieval cipher was created around the time that Arabic numerals were introduced to Europe.

## The Question

I am trying to solve Assignment 1:

... Luckily, you have figured out the cipher, except for the numbers. Below are some numbers that appear in the message written using Cistercian numerals notation1. (The numbers are written in particular order.)

You are confident that their counterparts are the following numbers (written in ascending order):

7, 13, 61, 114, 234, 250, 341, 705, 4091, 5689, 6070, 7608

Assignment 1: Your task is to match the Cistercian numerals with their counterparts.

1The medieval Cistercian numerals, or "ciphers" in nineteenth-century parlance, were developed by the Cistercian monastic order in the early thirteenth century at about the time that Arabic numerals were introduced to northwestern Europe.

## My Progress

I first tried to assume that 7 matched to g) (which I later found out it did), since 7 was the lowest number and g) seemed the simplest (and also looked like a 7; the problem said Arabic numerals were introduced around this time). I then matched 13) to j) (incorrect) since j) looked like g) and 13 was the second smallest. However, those two assumptions did not help me solve the problem.

I then assumed that besides the middle line, each line segment represented a digit, including straight and slanted lines. This would make it base-24. I then tried to use Benford's law and the frequencies to match lines to different digits, but did not succeed.

## The Solution

The solution is provided. Also, here is a key to the digits and pattern

To summarize, only the top line segments are for the digits. To multiply by powers of 10, you do different rotations and flips. To get a number that is the sum of two known symbols, you merge the symbols together to add them.

## My Questions

1. How would you guess that multiplying by powers of 10 would be equivalent to different rotations and flips of the Cistercian symbols?

2. Even if you knew the above, how would you match the line segments to different digits?

Here's one way you might go about it.

## Part 1: General Structure

I see that all of these symbols have a big diagonal line through them, all in exactly the same way. That seems like it must be important!

And the protrusions off of these lines seem to be similar. There are some obvious patterns, like the squares in (c) and (l), and the disconnected lines in (c), (i), and (j). There are also lots of "square hooks" (highlighted yellow below), and "T-branches" (highlighted green).

From this, I can make a guess as to the structure of this script. It looks like each character has a single line going down the middle (which I'll call the "baseline"), and then four "anchor points" with a shape on each.

## Part 2: Specific Shapes

So, how are these anchor points used? Well, let's look at the triangles.

It looks like they all attach to their anchor points in the same way, relative to the endpoint of the baseline. This means that you need to reflect and rotate the asymmetric ones - so if we had a character with four shapes of the same type, it might look something like this.

Let's continue under this assumption for now - that all the shapes transform like this. Then we can take inventory of the shapes we have...

Hey, there are nine of those... plus "no symbol" makes ten. Could those just be the ten digits? That sure would be convenient.

## Part 3: The Ten Digits

As you mentioned, (g) looks like the simplest shape. It's the only one we see with only one attachment, and 7 is the only one-digit number in our bank. Maybe these are just the ten digits!

So, if that one's 7, what about (h) and (i)? They both have 7 and one other digit. And in our bank, we have both 705 and 6070! We don't know which is which yet, but there are two of each - that matches up perfectly.

This path's looking promising, so it might be useful to count how many occurrences of each symbol we have.

These match up with our number bank - for instance, there's only one digit appearing six times (1), and two appearing twice (2 and 9). Looks like we're definitely on the right track!

From here, it's easy to logic out the rest of the digits:

• (g) is 7. This means that the ones place is on the right, and the Ր-ish shape is 7.
• (d) has one digit appearing twice, and one appearing once. This matches up with 114 from our bank. Therefore Γ is 1, ᚴ is 4, and the thousands place is on the left.
• Now we can disambiguate (h) and (i): (i) has something in the thousands place, so it must be 6070, and (h) must be 705. Therefore the triangle is 5, the separated line is 6, the hundreds place is on the bottom, and the tens place is on top.
• We can read (c) as 56__, which matches 5689 in our bank. Therefore ߂ is 8 and the square is 9.
• (b) is 00_1; this matches 31 in our bank, so ᛚ is 3.
• (k) is 0_50; this must be 250. So ꜓ is 2.

And we're done! That's all the digits assigned. Reading off the numbers we didn't look at, they also match the bank perfectly.

• I feel like this answer would benefit from a conclusion diplaying the symbol for each digit in one image/table. Although you have found all the digits, there is no cohesive answer summarizing everything. Sep 22, 2022 at 20:15

Deusovi's given one solution. Here's an alternative way to start. Uniquely among the possible answers, 7 has only one non-zero digit, and among the symbols, (g) has an addition to the baseline in only one place. So it looks as if the units digit goes rightwards off the top. And we now know what 7 looks like. So let's look for 7s elsewhere. 705 will have something where the units digit belongs, rightwards off the top (that'll be the 5), and a 7 somewhere else. This must be (h). So the hundreds digit goes rightwards off the bottom. 6070 will have two additions, one of them a 7, and in two different places. This must be (i). So the tens digit goes leftwards off the top, and the thousands digit leftwards off the bottom.

Then you can proceed as Deusovi has shown.