유클리드 호제법 (- 互除法, Euclidean algorithm)은 2개의 자연수 또는 정식(整式)의 최대공약수 를 구하는 알고리즘 의 하나이다. 호제법이란 말은 두 수가 서로(互) 상대방 수를 나누어(除)서 결국 원하는 수를 얻는 알고리즘을 나타낸다. 2개의 자연수(또는 정식) a, b에 대해서 a를 b로 나눈 나머지를 r이라 하면(단, a>b), a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 이 성질에 따라, b를 r로 나눈 나머지 r'를 구하고, 다시 r을 r'로 나눈 나머지를 구하는 과정을 반복하여 나머지가 0이 되었을 때 나누는 수가 a와 b의 최대공약수이다. 이는 명시적으로 기술된 가장 오래된 알고리즘이다. 78696과 19332의 최대공약수를 구하면, 78696 = 19332 ×4 + 1368 19332 = 1368×14 + 180 1368 = 180×7 + 108 108 = 72×1 + 36 180 = 108×1 + 72 72 = 36 ×2 최대 공약수는 36