def ode_1st_exact(eq, func, order, match):
 x = func.args[0]
 f = func.func
 r = match
 e = r[r['e']]
 d = r[r['d']]
 global y
 y = r['y']
 C1 = get_numbered_constants(eq, num=1)
 sol = (Integral(d, x) + Integral((e - Integral(d, x).diff(y)), y))
 return Eq(sol, C1)

def ode_1st_exact ( eq , func , order , match ) : x = func . args [ 0 ] f = func . func r = match e = r [ r [ 'e' ] ] d = r [ r [ 'd' ] ] global y y = r [ 'y' ] C1 = get_numbered_constants ( eq , num = 1 ) sol = ( Integral ( d , x ) + Integral ( ( e - Integral ( d , x ) . diff ( y ) ) , y ) ) return Eq ( sol , C1 )
solves 1st order exact ordinary differential equations .