Hello, Concerning the general problem of finding an integer relation. Here is an algorithm for 3 values, that is : if we are looking for aX + bY + Z ? 0 where a,b are 2 real numbers and X,Y,Z three integers. do {| a - b |} = c a <- b b <- c od { } is the fractional part. If we iterate this, after a certain amount of iterations we find 3 integers where the equation is near 0. I could generalize this example to more ; Here is the program in Maple : pseudoLLL:=proc(s) local a, b, c, d, nn, k,i, aa, ss, g, h,m,z; aa:=s: nn:=nops(aa): k:=[seq(frac(abs(aa[i]-aa[i+1])),i=1..nn-1),frac(abs(aa[1]-aa[nn]))]; ss:=evalf(k): g:=sort([seq([convert(1+ss[j],string),j],j=1..nn)],lexorder[2]): h:=[seq(g[i][3],i=1..nn)]: m:=[seq(k[h[z]],z=1..nn)]: return(m); end: This will work with a vector of real numbers up to a certain precision. I could make it to work with Maple 11, but they changed the syntax and the calling sequence again for the sort function (#@!$!@#($&!). For n=3 there, it can be worked out this way : L3:=proc(x, y, z) local a, b, c, d, k1, k2, k3, ll; a := x; b := y; c := z; k1 := frac(abs(a - b)); k2 := frac(abs(b - c)); k3 := frac(abs(a - c)); ll := sort([k1, k2, k3]); a := ll[1]; b := ll[2]; c := ll[3]; RETURN(a, b, c) end: Simon Plouffe