If you like this site, see my recent campaign for collecting money for my works of fiction.

Bugs in a Square (MathML Enabled Version)

I first encountered this problem in the science journal of a laboratory building where I used to study physics. It is rather well known, and I found some other solutions to it. One used differential equations which is rather high stuff. The other is “intuitive”, and so lacks enough support, so it didn’t satisfy me either. Anyway, I devised my own solution beforehand.

Here’s the riddle:

Four bugs are standing at the corners of a square. At time 0 a bell rings and they start moving towards each other. Each bug advances in the direction of the bug which was initially at the position clockwise from it.

Assuming the square is 1 meter long, and the bugs are moving in the velocity of 1 meter per second, how long will it take for the bugs to meet in the centre of the square?

The solution can be found some space below:


Bugs Path Illustration

I’ll use the following model to simplify the problem: suppose the bugs don’t move towards each other infinitesimally, but rather move in a straight line, and then stop, and then move again toward their new positions, and so forth. The bugs move toward their initial position until they reach a position which is in proportion p to the initial distance between them. Then they move again, towards a position which is in proportion p to their distance, and so forth.

Thus they form an infinite series of squares inside each other. You can see an illustration of this scheme to the right of this text for the proportion p = 0.15.

Now, if the length of a given square is a, then the length of the square inside it is (according to Pythagoras theorem):

p a2 + 1 p a2 = a2p2 2p + 1

The lengths of the squares form a decreasing geometrical series, with that proportion. Thus the length of the path a bug travel until they meet is:

p a1 1 2p2 2p + 1

This is according to the formula that the sum of an infinite decreasing geometric series is a1 1 q where a1 is the value of its first item and q is the proportion between two consecutive items.

Now, to find the length an infinitesimal bug will travel, we just limit p to 0:

limp0 p a1 1 2p2 2p + 1 = limp0 p a1 1 2p2 2p + 1 1 + 2p2 2p + 1 1 + 2p2 2p + 1 = limp0a1 p 1 + 2p2 2p + 1 1 p2 + 2p 1 = limp0a1 1 + 2p2 2p + 1 2 2p = limp0a1 1 + 2 02 2 0 + 1 2 2 0 = a1 (1 + 1) 2 = a1

Therefore, the length of a bug’s path is equal to the length of the original square’s side. The time it will take a 1 meter per second fast bugs who stand at the corner of a 1*1 meter square to meet is 1/1 = 1 second.

Scripts and Visualisations

Here’s a script for Gimp version 1.2 that generates a series of squares inside squares, and optionally marks the path of a single bug. And here’s the corresponding script for Gimp version 2.2.

Here’s a Perl script to generate an SVG image of the squares inside each other (that was displayed above).