显然可以首先令 a 和 b 同时除以 \gcd(a,b)。接下来不妨设 a<b 且 a 和 b 互质。
对于给定的 (a,b),为了尽量产生新的数字,其有效的操作方式实际上很单一。
例如,令 (a,b)=(3,10),可能的操作序列有:
可以发现,这相当于在模 b 意义下的运用 2 或者 4 个操作步数让一个数(也就是标蓝的这些数)+a(第一个序列)或者 -a(第二个序列)。
由于 a 和 b 互质,所以当 t \in [0,b-1] \cap \Z 时,ta \bmod b 是两两不同的。考虑设 f(t) 表示现在我们能够在模 b 意义下产生出 a,2a,3a,\cdots,ta 以及 -a,-2a,-3a,\cdots,-ta 的操作步数,那么求出满足 f(t) \leq k 的最大的 t 之后,我们也就能够求出最后的答案。