# IWCTF 2016 - Code - A numbers game - 50 pts
> Description: People either love or hate math. Do you love it? Prove it! You just need to solve a bunch of equations without a mistake.>> Service: 188.166.133.53:11027 
# Write-up
The service greets us with some equation to solve (Level 1). Surely this won't be the only one, so it would be tedious to solve them manually (and it wouldn't be in the coding section if it would be intended to do so ;))
So here's another quick&dirty ctf script:
```python#!/usr/bin/pythonfrom socket import *import re
s = None
BANNER = "Hi, I heard that you're good in math. Prove it!\n"YAY = "Yay, that's right!\n"
# solve the equation (taken from http://code.activestate.com/recipes/365013-linear-equations-solver-in-3-lines/)def solve(eq,var='x'):	eq1 = eq.replace("=","-(")+")"	c = eval(eq1,{var:1j})	return -c.real/c.imag
# connect to the service and fetch the bannerdef connect():	global s	print "Connect..."	s = socket(AF_INET, SOCK_STREAM)	s.connect(("188.166.133.53",11027))	res = s.recv(len(BANNER))	print res
# grab the equation from received stringdef geteq(msg):	match = re.search('Level (.*).: (.*)', msg, re.S)
	print "Level    : %s" % match.group(1)	print "Equation : %s" % match.group(2)
	return match.group(2) # receive equation and send answer back to the servicedef solvequestion():	msg = s.recv(1024)	print "Received: %s" % msg	eq = geteq(msg)
	res = solve(eq)	print "Result : |%s|" % str(int(res)) 	s.send(str(int(res)))	res =s.recv(len(YAY))	print res
connect()
while True:	solvequestion()```
At least it does its job:
```shell$ python solve.py Connect...Hi, I heard that you're good in math. Prove it!
Received: Level 1.: x + 9 = 12
Level    : 1Equation : x + 9 = 12
Result : |3|Yay, that's right!
Received: Level 2.: x - 3 = 10
Level    : 2Equation : x - 3 = 10
Result : |13|Yay, that's right!
[SNIP]
Received: Level 100.: x - 1582 = -1251
Level    : 100Equation : x - 1582 = -1251
Result : |331|Yay, that's right!
Received: IW{M4TH_1S_34SY}```
and rewards us with the next flag: `IW{M4TH_1S_34SY}`