　$n \geq 1$ に対して，

$$a_{n+1} + 2b_{n+1} = {a_n}^2 + 4{b_n}^2 + 4a_n b_n = (a_n  + 2b_n)^2$$

及び

$$a_{n+1} - b_{n+1} = {a_n}^2 + {b_n}^2 - 2a_n b_n = (a_n - b_n)^2$$

が分かる．これより，$a_1 + 2b_1 = 7, \ a_1 - b_1 = 1$ と合わせて，$a_{100} + 2b_{100} = 7^{2^{99}}, \ a_{100} - b_{100} = 1^{2^{99}} = 1$ であるから，$b_{100} = \dfrac{7^{2^{99}} - 1}{3}$ が従う．後は，これを素数 $1021$ で割った余りを求めればよい．フェルマーの小定理より，$2^{99}$ を $1020$ で割った余りを $A$ とすると，求めるべきは $\dfrac{7^{A} - 1}{3}$ を $1021$ で割った余りとなる．そこで，$A$ を求めることを考える．\
$$2^{99} \equiv 1024^{9} \times 2^{9} \equiv 4^{9} \times 2^{9} \equiv 1024^{2} \times 2^{7} \equiv 4^{2} \times 2^{7} \equiv 8 \ (\textrm{mod} \ 1020)$$
より，$A = 8$ と分かる．よって，答えは $\dfrac{7^{8} - 1}{3} = 1921600$ を $1021$ で割った余りであり，それは $\mathbf{78}$ である．
公式解説
https://onlinemathcontest.com/contests/omcb034/editorial/11929
　解説のような $b_n$ の求め方はとても美しいのですが，私にはどうしても思いつかない変形だったので別の求め方を考えてみました．

　よくある隣接二項間の漸化式 $p_{n+1}=sp_n+t$ の一般項を求める問題は，
$$p_{n+1}-\alpha=s(p_n-\alpha)$$
なる $\alpha$ を見つけて等比数列を考える問題に帰着されます（この $\alpha$ を見つける操作が特性方程式を解くということでした）．本問も同じような $\alpha$ を見つけることができないでしょうか？両辺の次数がずれているので，今回は
$$b_{n+1} -\beta= 3 ( b_n - \beta )^2$$
となる $\beta$ が存在してくれると嬉しいなと感じます．そこで，上の式を解いてみると $\beta = - \dfrac{1}{3}$ が都合よく見つかります．これを踏まえて解答を作ってみましょう．
 
___
　$a_n=b_n+1$ であるからこれを漸化式に代入することで
$$b_{n+1}=3{b_n}^2+2b_n$$
を得る．両辺に $\dfrac{1}{3}$ を加えてから因数分解することで，
$$b_{n+1}+\frac{1}{3}=3\left( b_n+\frac{1}{3}\right)^2$$
が成り立つことから，以下のような計算が可能である．
$$
\begin{aligned}
b_{100}+\frac{1}{3}
&= 3\left( b_{99}+\frac{1}{3}\right)^2\\\\
&= 3 \cdot \left( 3\left( b_{98}+\frac{1}{3}\right)^2 \right)^2\\\\
&= 3 \cdot 3^2\left( b_{98}+\frac{1}{3}\right)^{2^2}\\\\
&=\cdots\\\\
&= 3 \cdot 3^2 \cdot \ \cdots \ \cdot 3^{2^{98}} \left( b_{1}+\frac{1}{3}\right)^{2^{99}}\\\\
&= 3^{2^{99}-1} \left( 2+\frac{1}{3}\right)^{2^{99}}\\\\
&=\frac{7^{2^{99}}}{3}
\end{aligned}
$$
よって，
$$b_{100}=\frac{7^{2^{99}}-1}{3}$$
である．
b_nの別の求め方
https://onlinemathcontest.com/contests/omcb034/editorial/11929/785
　整数列 $\lbrace a_n \rbrace, \ \lbrace b_n \rbrace$ が以下の漸化式を満たしています．
- $a_1 = 3, \ b_1 = 2$
- $a_{n+1} = a_n^2 + 2b_n^2 \quad (n \geq 1)$
- $b_{n+1} = b_n^2 + 2a_n b_n \quad (n \geq 1)$
　
このとき，$b_{100}$ の値を素数 $1021$ で割った余りを解答してください．