The ghost of the sea

A mysterious submarine cruises through the endless see, along an imaginary integer axis (\(\mathbb{Z}\)). The submarine has a certain starting point and a fixed (constant) velocity. Moreover, it moves in a 'discrete' way, i.e., at any given second, the submarine can be localised at a certain integer on the axis.

Suppose you are given an infinite amount of missiles. Each second, you can shoot at one spot on the integer axis. Is it possible to hit the submarine in finite time?

Source: Brilliant.


Let \(x'\) be the starting point of the submarine, let \(v'\) be its velocity. Thus, the submarine has a certain pair of unknown values \((x',v')\in\mathbb{Z}\times\mathbb{Z}\). As \(\mathbb{Z}\) is a countable set, \(\mathbb{Z}\times\mathbb{Z}\) is countable as well, so we can find a bijection \(f\) from \(\mathbb{N}^\times\) to \(\mathbb{Z}\times\mathbb{Z}\). If we shoot at the number \(x_t+v_tt\) on the \(t^\text{th}\) second, with \(f(t)=(x_t,v_t)\), then, eventually, we will reach the exact location of the submarine. Convince yourselve that this will happen within at most \(f^{-1}\big((x',v')\big)\) seconds.

Note that, as any direct product of countable sets is countable, one can easily generalise this problem by adding acceleration, jerk, snap, crackle, pop..., as long as these variables take discrete (countable) values.

Remarks? Want to submit your own solution? Don't hesitate to send me an email!