Python Program for Basic Euclidean Algorithms (original) (raw)

Last Updated : 29 Oct, 2025

Given two numbers a and b, the task is to find their greatest common divisor (GCD), which is the largest number that divides both a and b completely. **For example:

**Input: a = 10, b = 15 -> **Output: 5
**Input: a = 31, b = 2 -> **Output: 1

Let’s explore different methods to find the GCD in Python.

Using math.gcd()

The math module provides a built-in gcd() function that internally implements the optimized Euclidean algorithm. This is the most efficient and pythonic way to find the GCD.

Python `

import math a, b = 10, 15 print("GCD is", math.gcd(a, b))

`

**Explanation: math.gcd(a, b) directly returns the greatest common divisor of the two numbers.

Using Iterative Euclidean Algorithm

This approach repeatedly replaces the larger number with the remainder until one becomes zero. The non-zero number left is the GCD.

Python `

a, b = 10, 15 while b: a, b = b, a % b

print("GCD is", a)

`

**Explanation:

Using Recursive Euclidean Algorithm

This is the traditional recursive form of the algorithm. It calls itself repeatedly by swapping a and b % a until a becomes zero.

Python `

def gcd(a, b): if a == 0: return b return gcd(b % a, a)

a, b = 10, 15 print("GCD is", gcd(a, b))

`

**Explanation:

Using Subtraction-based Euclidean Algorithm

This method repeatedly subtracts the smaller number from the larger until both become equal.

Python `

a, b = 10, 15 while a != b: if a > b: a -= b else: b -= a

print("GCD is", a)

`

**Explanation:

Please refer complete article on Basic and Extended Euclidean algorithms for more details!