GCHQ Xmas challenge

The GCHQ Xmas challenge is out for 2023.

Here is one of the problems:

We (think) we solved it using Easy Data Transform (including some judicious use of Javascript transforms). Can you solve it, with or without Easy Data Transform?

We will publish our .transform file after the official results are announced.

Please Do Not publish solutions or answers here until the answers are published by GCHQ, sometime on Friday. Any answers published before then will be deleted - we don’t want to help cheats!

Looked at this a bit more and we have used EDT to find the possible combinations of values of all the digits. But a bit more is required before fully solving the problem. So we have got at least part way to a solution!

No results yet please!

Solved it without EDT, using paper and pencil only.

Cool. It is a competition aimed mainly at (smart!) 12-18 year old children. I don’t want them to be able to find the answers by searching online. Not on our forum, anyway.


I was wondering how to use EDT in this case, which transform to start with?

Solved it with EDT too and without using JavaScript transform.


To solve Question 6

It would be nice if we can have Decode transform to have binary to integer and integer to binary as well.

Num Base will do that.

binary-integer-converter.transform (2.3 KB)

Thank you, it did work and solved 6 with EDT.

1 Like

So when can we upload our transforms?

Please do. I brute forced question 4 to get the digits:

  • I used the Cross transform to create every possible combination of the 8 digits for each value.
  • Then I used Javascript and Filter to remove every set of values that didn’t satisfy the equations.
  • Then I found the one set of values that had no repeat digits.

It isn’t pretty, but it worked. The last step was the hardest.

I then worked back from the values to the 4 letters manually.

gchq-question-4.transform (11.8 KB)

Hi Andy,

I loaded the transformation, on Mac (M2, Ventura 13.6.2) with 10GB Memory assigned to EDT it shows after a short moment in the cross transformation 84% Memory used of the 10GB and crashes afterwards. This happen everytime.

Another try: With 20GB it does work, but runs for “long” time.

Here the solutions for 1, 4, 6 and 7.

Transform file.
GCHQ_1.transform (3.2 KB)

Transform file.
GCHQ_4.transform (15.3 KB)

Transform file.
GCHQ_6.transform (3.6 KB)


Transform file.
GCHQ_7.transform (2.6 KB)

1 Like

Yes, it is definitely brute force. The Cross creates a table with 100 million rows. ;0)

In v2 we want to investigate handling big problems like this with less memory usage. E.g. by dumping intermediate data to disk.

Your solution to 4 is a lot more elegant!

1 Like