Python 3.5, 160 141 126 124 121 109 bytes
This is a simple implementation of the sequence's definition. Golfing suggestions welcome.
Edit: -17 bytes thanks to Leaky Nun. -9 bytes thanks to Peter Taylor. -6 bytes thanks to Sp3000 and switching to Python 3.5.
import math;f=lambda n,r=[2,1],c=3:n<2and r[1]or(c in r)+math.gcd(c,r[0]*r[1])<2and f(n-1,[c]+r)or f(n,r,c+1)
Ungolfing:
import math
def f(n, r=[2,1], c=3):
if n<2:
return r[1]
elif (c in r) + math.gcd(c,r[0]*r[1]) < 2:
return f(n-1, [c]+r)
else:
return f(n, r, c+1)