recursive gcd algorithm
recursive gcd algorithm