Parse b2−a3−1=−a(a2+b+1)+(b+1)(a+b−1), so a2+b+1 divides (b+1)(a+b−1).
Let a2+b+1=pk,p be a prime, then pk∣(b+1)(a+b−1). Since pk∤(a+b−1)2, it must be that p∣(b+1). Also, a2+b+1>b+1, so pk∤(b+1),p∣(a+b−1). Thus, p divides a2+b+1−(b+1)=a2,p divides a.p divides a+b+1−(a+b−1)=2.p=2.
Let a=2sa1,b+1=2tb1,s、t be positive integers, a1、b1 be positive odd numbers. Since 22sa12+2tb1−2k, it follows that k>2s,k>t.22s divides 2k, thus 22s divides 2t, i.e., 2s⩽t. Similarly, t⩽2s. Therefore, t=2s.a12+b1=2k−2s⩾2. a+b−1=2sa1+22sb1−2.
If s>1, then the power of 2 in a+b−1 is 1. From a2+b+1 divides (b+1)(a+b−1), we get k⩽2s+1. Thus, k=2s+1 and a12+b1=2,a1=b1=1. In this case, a=2s,b=22s−1. If s=1, then a+b−1=2(a1−1)+22b1. Since a1 is odd, a1−1 is even, and the power of 2 in a+b−1 is at least 2. But a2+b+1 divides (b+1)(a+b−1) but does not divide (a+b−1)2, indicating that the power of 2 in a+b−1 is less than the power of 2 in b+1, i.e., less than 2s=2, a contradiction!
Therefore, the solution to this problem is a=2s,b=22s−1,s=2,3,4,⋯.