Why is this single-threaded program using all cpu cores?

Solution 1:

It is not using all cores simultaneously, it is simply being stopped by the operating system and when restarted it is being scheduled on a different core.

A single threaded program can only run on one core at a time, but as part of multitasking operating system hundreds of programs and tasks are being constantly stopped and started and to the user what core gets used for what program will look essentially random.

Your program can run on any core that is available, what it can't do is run on multiple cores at the same time.

Those graphs are not precise enough to show individual CPU time slices.

If the developer assures you that it is a single threaded program then there is something else going on. Either he is using some library or loader that is multithreaded, or something else is making use of your system at the same time.