from scipy.optimize import fsolve
import numpy as np
def equations( b,c,d,e,w ):
a=100
return ( (a+b)**2 - 2*a * (a+b) * np.cos(w),
(a+b)**2 + (a+b+c)**2 - a**2 - 2*(a+b)*(a+b+c)*np.cos(w),
(a+b+c)**2 + (a+b+c+d)**2 - a**2 - 2*(a+b+c)*(a+b+c+d)*np.cos(w),
(a+b+c+d)**2 + (a+b+c+d+e)**2 - a**2 - 2*(a+b+c+d)*(a+b+c+d+e)*np.cos(w),
2*(a+b+c+d+e)*(1-np.cos(w))-a**2)
bs = np.array([20, 100])
cs = np.array([20, 100])
ds = np.array([20, 100])
es = np.array([20, 100])
ws = np.array([0.1,3.14])
solset=np.array(bs,cs,ds,es,ws)
b,c,d,e,w = fsolve(equations,solset)
print equations((b,c,d,e,w))
print (b,c,d,e,w)
ZnJvbSBzY2lweS5vcHRpbWl6ZSBpbXBvcnQgZnNvbHZlCmltcG9ydCBudW1weSBhcyBucAoKZGVmIGVxdWF0aW9ucyggYixjLGQsZSx3ICk6CgogICAgYT0xMDAKICAgCiAgICByZXR1cm4gKCAoYStiKSoqMiAtIDIqYSAqIChhK2IpICogbnAuY29zKHcpLAogICAgICAgICAgICAgKGErYikqKjIgKyAoYStiK2MpKioyIC0gYSoqMiAtIDIqKGErYikqKGErYitjKSpucC5jb3ModyksCiAgICAgICAgICAgICAoYStiK2MpKioyICsgKGErYitjK2QpKioyIC0gYSoqMiAtIDIqKGErYitjKSooYStiK2MrZCkqbnAuY29zKHcpLAogICAgICAgICAgICAgKGErYitjK2QpKioyICsgKGErYitjK2QrZSkqKjIgLSBhKioyIC0gMiooYStiK2MrZCkqKGErYitjK2QrZSkqbnAuY29zKHcpLAogICAgICAgICAgICAgMiooYStiK2MrZCtlKSooMS1ucC5jb3ModykpLWEqKjIpCiAgICAgICAgICAgICAKYnMgPSBucC5hcnJheShbMjAsIDEwMF0pCmNzID0gbnAuYXJyYXkoWzIwLCAxMDBdKQpkcyA9IG5wLmFycmF5KFsyMCwgMTAwXSkKZXMgPSBucC5hcnJheShbMjAsIDEwMF0pCndzID0gbnAuYXJyYXkoWzAuMSwzLjE0XSkKc29sc2V0PW5wLmFycmF5KGJzLGNzLGRzLGVzLHdzKQogICAgICAgICAgICAgCmIsYyxkLGUsdyA9IGZzb2x2ZShlcXVhdGlvbnMsc29sc2V0KQoKcHJpbnQgZXF1YXRpb25zKChiLGMsZCxlLHcpKQpwcmludCAoYixjLGQsZSx3KSA=