The brainbuster

ACME Software Ltd has 100 software engineers on the staff:

70 can program in C.
28 can program in Java.
21 can program in Python.
12 can program in C and Java
9 can program in Java and Python.
8 can program in C and Python.
3 can program in all three languages.

How many software engineers have none of the three languages?

Show your workings. Only complete entry forms will be considered. The judge's decision is final.

The competition closed on Sunday 21st May 2017.

The entries

There was a goodly number of entries for this competition. It seemed to be quite straightforward, but nevertheless there were a few 'interesting' answers - a couple of people said 16, one 18 and another 26.

One entrant's logic was impeccable, but they then deducted 93 from 100 and got 8.

The solution

Here is the answer given by our winner:

70 in C, 28 in Java, 21 in Python, 12 in C + Java, 9 in Java + Python, 8 in C + Python, 3 in C + Java + Python. Therefore, 9 in only C + Java, 6 in only Java + Python, 5 in only C + Python. Therefore, C only = 70 - 9 - 5 - 3 = 53, Java only = 28 - 9 - 6 - 3 = 10, Python only = 21 - 6 - 5 - 3 = 7.

53 + 10 + 7 = 70 know 1 language, 3 know 3 languages, 9 + 6 + 5 = 20 know 2 languages. Total programmers in C, Java, Python = 70 + 20 + 3 = 93. There are 7 software engineers with none of the three languages.

And the winner is...

Tim Barker, studying for a PhD in Engineering Mathematics at the University of Bristol, is the winner of ecm's Brainbuster no. 41 competition.

Tim wins £200 of Amazon vouchers to spend on high-tech. Congratulations again to Tim, and watch out for ecm's next brainbuster!