nod(integer,integer,integer)
clauses
nod(N,M,M):-N mod M=0,!.
nod(N,M,R):-M1=N mod M,N1=M,nod(N1,M1,R).
goal
nod(99,60,J).
А что именно непонятно?
Тут рекурсивный поиск наибольшего общего делителя.
Так что надо разобраться с алгоритмом и по какому-нибудь учебнику с синтаксисом пролога.
Алгоритм Евклида на Python — Расширенный или модифицированный для нахождения НОД
Нахождение НОД (наибольшего общего делителя) с помощью рекурсивной функции