/* Enigma 994 by Colin Singleton (New Scientist 29/8/98) George is contemplating buying a farm which is a very strange shape, comprising a large triangular lake with a square field on each side. The area of the lake is exactly seven acres, and the area of each field is an exact whole number of acres. Given that information, what is the smallest possible total area of the three fields? ECLiPSe solution by Joachim Schimpf, IC-Parc */ :- lib(ic). % Using interval solver solve :- [A,B,C] :: 0.0..inf, % The 3 sides of the lake triangle_area(A, B, C, 7), % The lake area is 7 [F,FA,FB,FC] :: 1..inf, % The square areas are integral square_area(A, FA), square_area(B, FB), square_area(C, FC), F $= FA+FB+FC, FA $>= FB, FB $>= FC, % Avoid symmetric solutions indomain(F), % find solution locate([A,B,C], 0.01), printf("F=%mw (FA=%mw, FB=%mw, FC=%mw)%n%b", [F,FA,FB,FC]). triangle_area(A, B, C, Area) :- S $>= 0, S $= (A+B+C)/2, Area $= sqrt(S*(S-A)*(S-B)*(S-C)). square_area(A, Area) :- Area $= sqr(A).