\(N\) の最上位ビットより上が使えるかどうか考える.

\(y = 2^t + N, x = 2^t - 1\) (\(t\) は \(N\) の最上位ビットより上の数) とするのが最も差を小さくでき, このときの差は \(y-x = N-1\) なので, \(y-x \leq K\) より, \(N \lt K\) が条件となる. この条件が成り立つ場合 \(t\) は無限に使えるので \((x, y)\) の組は無限個存在する.

そうでない場合は \(N\) の最上位ビットまでしか使えないので, 総当りで検索する.