# Solve function yields empty set answer

**URL:** <https://community.wolfram.com/t/solve-function-yields-empty-set-answer/25951>\
**Category:** Questions\
**Tags:** algebra, equation-solving\
**Created:** [September 8, 2025, 9:02pm UTC](https://community.wolfram.com/t/solve-function-yields-empty-set-answer/25951 "2025-09-08T21:02:13Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![schultzj201](https://avatars.discourse-cdn.com/v4/letter/s/d78d45/32.png) [@schultzj201](https://community.wolfram.com/u/schultzj201)\
**Post date:** [September 8, 2025, 9:02pm UTC](https://community.wolfram.com/t/solve-function-yields-empty-set-answer/25951/1 "2025-09-08T21:02:13Z")

</div>

Greetings,  
I am new to Mathematica and I am wondering why the command:

```
Solve[{ y*x == 15, x==5}, y]

```

Yields:

```
{}

```

Thanks,  
Jay

---

<div class="post-metadata">

**Author:** ![dontdont9](https://avatars.discourse-cdn.com/v4/letter/d/54ee81/32.png) [@dontdont9](https://community.wolfram.com/u/dontdont9)\
**Post date:** [September 9, 2025, 12:38am UTC](https://community.wolfram.com/t/solve-function-yields-empty-set-answer/25951/2 "2025-09-09T00:38:15Z")

</div>

Perhaps think: 2 equations, 2 unknowns. Try

```
Solve[{ y*x == 15, x==5},{x, y}]

```

---

<div class="post-metadata">

**Author:** ![mroge02](https://yyz1.discourse-cdn.com/wolfram/user_avatar/community.wolfram.com/mroge02/32/28775_2.png) [@mroge02](https://community.wolfram.com/u/mroge02)\
**Post date:** [September 9, 2025, 12:52am UTC](https://community.wolfram.com/t/solve-function-yields-empty-set-answer/25951/3 "2025-09-09T00:52:49Z")

</div>

Bill Nelson has the right idea. The behavior of `Solve[]` is a bit hard to understand. I often forget how `Solve[]` works in such a case. Only when it gives me the unexpected answer do I recall the following from its documentation:

> Solve gives generic solutions only.

Technically, your system `{y*x == 15, x==5}` consists of two conditions. The solution `{y -> 3}` is valid provided `x == 5`. That is a specific, and **not a generic** , condition. The option `MaxExtraConditions` allow you to change this default behavior. You can set it to `MaxExtraConditions -> Automatic` or `MaxExtraConditions -> 1` or the following:

```
Solve[{y*x == 15, x == 5}, y, MaxExtraConditions -> All]
(* {{y -> ConditionalExpression[3, x == 5]}} *)

```

An undocumented workaround is to use `{x}`, with the braces, as the 3rd argument, which asks `Solve[]` to eliminate `x` from the solutions:

```
Solve[{y*x == 15, x == 5}, y, {x}]
(* {{y -> 3}} *)

```

Or you can solve it Bill’s way.

---

<div class="post-metadata">

**Author:** ![gianlucagorni](https://avatars.discourse-cdn.com/v4/letter/g/ec9cab/32.png) [@gianlucagorni](https://community.wolfram.com/u/gianlucagorni)\
**Post date:** [September 9, 2025, 5:28pm UTC](https://community.wolfram.com/t/solve-function-yields-empty-set-answer/25951/4 "2025-09-09T17:28:45Z")

</div>

There is no value of `y` that makes the predicate `x == 5` evaluate to `True`.

---

<div class="post-metadata">

**Author:** ![hansmilton](https://yyz1.discourse-cdn.com/wolfram/user_avatar/community.wolfram.com/hansmilton/32/8656_2.png) [@hansmilton](https://community.wolfram.com/u/hansmilton)\
**Post date:** [September 9, 2025, 6:32pm UTC](https://community.wolfram.com/t/solve-function-yields-empty-set-answer/25951/5 "2025-09-09T18:32:41Z")

</div>

Another way to write the equation:

```
Solve[y*x == 15 /. x -> 5, y]

```

---

<div class="post-metadata">

**Author:** ![chhekarl](https://yyz1.discourse-cdn.com/wolfram/user_avatar/community.wolfram.com/chhekarl/32/38214_2.png) [@chhekarl](https://community.wolfram.com/u/chhekarl)\
**Post date:** [September 15, 2025, 12:15am UTC](https://community.wolfram.com/t/solve-function-yields-empty-set-answer/25951/6 "2025-09-15T00:15:13Z")

</div>

Dear All,  
I have probably a similar problem regarding the use of the function Solve. Does it have any limit of how big the equations are? For instance, I’m trying to evaluate the steady-state solution for these system;  
[https://www.wolframcloud.com/obj/chhekarl/Steady\_state\_reactor.nb](https://www.wolframcloud.com/obj/chhekarl/Steady_state_reactor.nb)

and it gave me

Solve was unable to solve the system with inexact coefficients. The answer was obtained by solving a corresponding exact system and numericizing the result.

Could anyone verify this?

---

<div class="post-metadata">

**Author:** ![mroge02](https://yyz1.discourse-cdn.com/wolfram/user_avatar/community.wolfram.com/mroge02/32/28775_2.png) [@mroge02](https://community.wolfram.com/u/mroge02)\
**Post date:** [September 16, 2025, 3:52pm UTC](https://community.wolfram.com/t/solve-function-yields-empty-set-answer/25951/7 "2025-09-16T15:52:53Z")

</div>

One gets this message when one has decimal points in the numbers in the equations. Inexact floating-point arithmetic is normally used to compute with these numbers. `Solve[]` converts the numbers to rational numbers represented exactly by a ratio of integers. It then solves the exact system and converts the solution back to floating-point numbers. `Solve[]` generally expects exact input, although it usually deals effectively with inexact input. But because of this expectation and because it rounded the numbers to rational and then rounded the solutions back to floating-point, it issues a warning message. If the answer seems wrong, the user knows a possible, albeit unlikely, reason for the discrepancy is the numerical conversions. If the answer seems right, you can ignore the message, and this is the more common case in my experience.

---

<div class="post-metadata">

**Author:** ![chhekarl](https://yyz1.discourse-cdn.com/wolfram/user_avatar/community.wolfram.com/chhekarl/32/38214_2.png) [@chhekarl](https://community.wolfram.com/u/chhekarl)\
**Post date:** [September 17, 2025, 6:45am UTC](https://community.wolfram.com/t/solve-function-yields-empty-set-answer/25951/8 "2025-09-17T06:45:12Z")

</div>

Thanks Michael for responding to my earlier inquiry. Will try to check the function again and recompile.
