Project Euler Problem 2

Problem 2 - Project Euler

コード

#include <cstdio>
int main()
{
	unsigned long long Fa = 0, Fb = 1, Fsum = 0;
	while(Fb < 4000000){
		if(!(Fb % 2)) Fsum += Fb;
		Fa ^= Fb; Fb ^= Fa; Fa ^= Fb;
		Fb += Fa;
	}
	printf("%lld\n", Fsum);

	return 0;
}

答え

4613732

式で求める方法ってあるのかしら。いきなりプログラムに逃げてしまったけれども。