import Data.Ratio
f1
, f2
:: (Num a
) => a
-> a
f1 x = x^3 + x - 5
f2 x = x^4 + 2*x - 5
euler f a b = xs
step (x,x0) = x - (f x)*(x - x0) / (f x - f x0)
main = do
putStrLn "\n2. f2(x) = x^4 + 2*x - 5 [-2,-1]" mapM_ printResult
. take 5 $ euler f2
(-2) (-1) putStrLn "\n3. f2(x) = x^4 + 2*x - 5 [1,2]"
printResult x = do
aW1wb3J0IERhdGEuUmF0aW8KCmYxLCBmMiA6OiAoTnVtIGEpID0+IGEgLT4gYQpmMSB4ID0geF4zICsgeCAtIDUKZjIgeCA9IHheNCArIDIqeCAtIDUKCmV1bGVyIDo6IChSYXRpb25hbCAtPiBSYXRpb25hbCkgLT4gUmF0aW9uYWwgLT4gUmF0aW9uYWwgLT4gW1JhdGlvbmFsXQpldWxlciBmIGEgYiA9IHhzCiAgd2hlcmUgeHMgPSBhIDogYiA6IG1hcCBzdGVwICh6aXAgKHRhaWwgeHMpIHhzKQogICAgICAgIHN0ZXAgKHgseDApID0geCAtIChmIHgpKih4IC0geDApIC8gKGYgeCAtIGYgeDApCgptYWluID0gZG8KICBwdXRTdHJMbiAiMS4gZjEoeCkgPSB4XjMgKyB4IC0gNSAgICAgWzEsMl0iCiAgbWFwTV8gcHJpbnRSZXN1bHQgLiB0YWtlIDUgJCBldWxlciBmMSAxIDIKICBwdXRTdHJMbiAiXG4yLiBmMih4KSA9IHheNCArIDIqeCAtIDUgICAgIFstMiwtMV0iCiAgbWFwTV8gcHJpbnRSZXN1bHQgLiB0YWtlIDUgJCBldWxlciBmMiAoLTIpICgtMSkKICBwdXRTdHJMbiAiXG4zLiBmMih4KSA9IHheNCArIDIqeCAtIDUgICAgIFsxLDJdIgogIG1hcE1fIHByaW50UmVzdWx0IC4gdGFrZSA1ICQgZXVsZXIgZjIgMSAyCiAgCiAgCnByaW50UmVzdWx0IDo6IFJhdGlvbmFsIC0+IElPICgpCnByaW50UmVzdWx0IHggPSBkbwogIHB1dFN0ciAuIHNob3cgJCB4CiAgcHV0U3RyICIgIC0tLT4gICIKICBwdXRTdHJMbiAuIHNob3cgJCAoZnJvbVJhdGlvbmFsIHggOjogRG91YmxlKQ==