module gcd_module implicit none contains recursive integer function gcd(i, j) result (answer) implicit none integer, intent (in) :: i, j if (j==0) then answer = i else answer = gcd(j, mod(i,j)) end if end function gcd end module gcd_module program ch1209 use gcd_module implicit none integer :: i, j, result print *, ' type in two integers' read *, i, j result = gcd(i, j) print *, ' gcd is ', result end program ch1209