#Python 3, 96 bytes
Python 3, 96 bytes
Pretty simple solution. Makes use of this SO answer.
lambda n:min([((i,n//i),abs(1.618-i/(n//i)))for i in range(1,n+1)if n%i<1],key=lambda x:x[1])[0] The same solution in Python 2 is one byte longer.
lambda n:min([((i,n/i),abs(1.618-1.*i/(n/i)))for i in range(1,n+1)if n%i<1],key=lambda x:x[1])[0]