Thank you all for your excellent comments.
I was aware of Hughe's technique and the 'whyfp' paper.
I had often thought that some kind of iteration would be necessary to
reolve this, and to overcome initially this I was cheating and using
one of the values one step late in order to break the closed cycle of
references, in my C and Prolog protype versions.
This cheat bothered me to the extent that I decided to fix it and that
is when I decided that I might be missing the boat, and Haskell might
have a built in solution to closed sets of references.
But I see now in retrospect that this was a misguided (could I say
silly ? ;-) notion and that indeed some kind of
numerical algorithm will have to be effected to get the 'pure' solution.
Again, many thanks to all, and I learned something valuable.
My faith in Haskell and FP has been restored (assuming it ever did actually waiver)
cheers,
-Mike