COMPUTER SCIENCEThis exercise concerns a variation of the Euclidean algorithm more suited to computer implementation. The original GCD algorithm relies on repeated integer divisions to compute remainders. The following variation, called the binary GCD algorithm, also uses divisions, but only by 2, plus subtraction and testing for parity (oddness or evenness). Given that the numbers are stored in the computer in binary form, these operations are simple and often done using built-in circuits. Testing for even/odd can be done using bitwise conjunction of N & 1, which results in 1 if and only if N is odd. Given an even N, division by 2 is easily accomplished by a 1-bit right shift operation, where all bits are shifted one place to the right (the rightmost bit disappears), and the leftmost bit is set to 0. (Multiplication by 2 is a 1-bit left shift.) Subtraction involves the 2’s complement. As a result, the binary gcd algorithm, which avoids regular division, runs faster than the Euclidean algorithm, even though it does more (but simpler) steps. The binary GCD algorithm relies on three facts: 1. If both a and b are even, then $\operatorname{gcd}(a, b)=2 \operatorname{gcd}(a / 2, b / 2)$ 2. If a is even and b is odd, then $\operatorname{gcd}(a, b)=\operatorname{gcd}(a / 2, b)$ 3. If a and b are both odd, and $a \geq b,$ then gcd(a, b) = gcd((a − b)/2, b). We want to prove that if a and b are both odd, and $a \geq b,$ then gcd(a, b) = gcd((a − b)/2, b). If a and b are both odd and $a \geq b,$ then gcd(a, b) = gcd(a − b, b) because, from the regular Euclidean algorithm, gcd(a, b) begins with a = qb + r, $0 \leq r<b$ and gcd(a − b, b) begins with a – b = (q − 1)b + r, $0 \leq r<b.$ The next step in either case is to divide b by r, so the two final answers will be the same. Finish this proof by showing that gcd(a − b, b) = gcd((a – b)/2, b).