Think about what you are trying to do.

Given your equation:

EQN := V+b = (1/(V*(4*V-b)^3)-c*V-d)/(P*sqrt(T)*V^2);
1
------------ - c V - d
3
V (4 V - b)
V + b = ----------------------
(1/2) 2
P T V

If we want to try to solve for V by hand, we would move all terms to one side

EQN2 := normal( EQN-rhs(EQN) );
1 / 7 (1/2) 6 (1/2) 5 (1/2) 2
---------------------- \64 V P T + 16 V P T b - 36 V P T b
3 3 (1/2)
V (4 V - b) P T
4 (1/2) 3 4 3 (1/2) 5 4 3 2
+ 11 V P T b - b V P T - 1 + 64 c V - 48 c V b + 12 c V b
2 3 4 3 2 2 3\
- c V b + 64 d V - 48 d V b + 12 d V b - d V b / = 0

The denominator is zero when V=0 or V=b/4:

solve( denom(lhs(EQN2))=0, V );
1 1 1
0, 0, 0, - b, - b, - b
4 4 4

Maybe these are not physically realistic and can safely be ignored - or maybe not.

The numerator is a 7th degree polynomial in V:

EQN3 := sort( collect( numer( lhs(EQN2) ), V ) );
(1/2) 7 (1/2) 6 / (1/2) 2 \ 5 3
64 P T V + 16 P T V b + \-36 P T b + 64 c/ V - V b d
/ (1/2) 3 \ 4
+ \11 P T b - 48 b c + 64 d/ V
/ (1/2) 4 2 \ 3 / 3 2 \ 2
+ \-P T b + 12 b c - 48 b d/ V + \-b c + 12 b d/ V - 1

There is not going to be a closed form for the solutions of this equation, unless you happen to get lucky. Maybe the origins of your problem can provide ideas about how a symbolic solution can be found, but it's more likely that you'll have to rely upon fsolve to find an approximate solution for any given values of T, P, b, c, and d. This can be automated as follows:

VVall := (TT,PP,bb,cc,dd) -> fsolve( eval(EQN3=0, [T=TT, P=PP, b=bb, c=cc, d=dd]), V, complex ):
VVall(1,1,1,1,1);
-0.9959275806, -0.2027917024, -0.005040084299 - 0.9998682614 I,
-0.005040084299 + 0.9998682614 I, 0.2272988158 - 0.3190790839 I,
0.2272988158 + 0.3190790839 I, 0.5042018200

Note that this will return all 7 solutions to the equation (ignoring any possible problems when the denominator is simultaneously zero, as found above):

If it's known that V is positive (and real), we can create a procedure that returns these solutions:

VVpos := (TT,PP,bb,cc,dd) -> select( is, {VVall(TT,PP,bb,cc,dd)}, positive )[]:
VVpos(1,1,1,1,1);
0.5042018200

Depending upon your choices for the parameters, there could be more than one positive solution. If this is an issue for you, you will have to modify the selection process to find the correct value to have Maple return. Or, maybe you do know that there is only one positive real solution to this equation.

What do you want to do with your solution? If you want to see how V changes as a function of one of the parameters you will need to write a wrapper that returns unevaluated when the arguments are not all numeric:

VVpos(T,1,1,1,1);
Error, (in fsolve) T is in the equation, and is not solved for
VV := proc(TT,PP,bb,cc,dd)
if not type( {_passed}, set(numeric) ) then
return 'procname'( _passed )
else
VVpos(_passed)
end if
end proc:
VV(T,1,1,1,1); VV(1,1,1,1,1);
VV(T, 1, 1, 1, 1)
0.5042018200

Now, you can create plots as follows:

plot( VV(T,1,1,1,1), T=1..10 );
plot3d( VV(T,P,1,1,1), T=0..10, P=0..10, style=surfacecontour, shading=zhue, axes=boxed );

I hope this is helpful,

Doug

---------------------------------------------------------------------
Douglas B. Meade <><
Math, USC, Columbia, SC 29208 E-mail: mailto:meade@math.sc.edu
Phone: (803) 777-6183 URL: http://www.math.sc.edu