Products
  • Wolfram|One

    The definitive Wolfram Language and notebook experience

  • Mathematica

    The original technical computing environment

  • Wolfram Notebook Assistant + LLM Kit

    All-in-one AI assistance for your Wolfram experience

  • System Modeler
  • Wolfram Player
  • Finance Platform
  • Wolfram Engine
  • Enterprise Private Cloud
  • Application Server
  • Wolfram|Alpha Notebook Edition
  • Wolfram Cloud App
  • Wolfram Player App

More mobile apps

Core Technologies of Wolfram Products

  • Wolfram Language
  • Computable Data
  • Wolfram Notebooks
  • AI & Linguistic Understanding

Deployment Options

  • Wolfram Cloud
  • wolframscript
  • Wolfram Engine Community Edition
  • Wolfram LLM API
  • WSTPServer
  • Wolfram|Alpha APIs

From the Community

  • Function Repository
  • Community Paclet Repository
  • Example Repository
  • Neural Net Repository
  • Prompt Repository
  • Wolfram Demonstrations
  • Data Repository
  • Group & Organizational Licensing
  • All Products
Consulting & Solutions

We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

  • Data & Computational Intelligence
  • Model-Based Design
  • Algorithm Development
  • Wolfram|Alpha for Business
  • Blockchain Technology
  • Education Technology
  • Quantum Computation

WolframConsulting.com

Wolfram Solutions

  • Data Science
  • Artificial Intelligence
  • Biosciences
  • Healthcare Intelligence
  • Sustainable Energy
  • Control Systems
  • Enterprise Wolfram|Alpha
  • Blockchain Labs

More Wolfram Solutions

Wolfram Solutions For Education

  • Research Universities
  • Colleges & Teaching Universities
  • Junior & Community Colleges
  • High Schools
  • Educational Technology
  • Computer-Based Math

More Solutions for Education

  • Contact Us
Learning & Support

Get Started

  • Wolfram Language Introduction
  • Fast Intro for Programmers
  • Fast Intro for Math Students
  • Wolfram Language Documentation

More Learning

  • Highlighted Core Areas
  • Demonstrations
  • YouTube
  • Daily Study Groups
  • Wolfram Schools and Programs
  • Books

Grow Your Skills

  • Wolfram U

    Courses in computing, science, life and more

  • Community

    Learn, solve problems and share ideas.

  • Blog

    News, views and insights from Wolfram

  • Resources for

    Software Developers

Tech Support

  • Contact Us
  • Support FAQs
  • Support FAQs
  • Contact Us
Company
  • About Wolfram
  • Career Center
  • All Sites & Resources
  • Connect & Follow
  • Contact Us

Work with Us

  • Student Ambassador Initiative
  • Wolfram for Startups
  • Student Opportunities
  • Jobs Using Wolfram Language

Educational Programs for Adults

  • Summer School
  • Winter School

Educational Programs for Youth

  • Middle School Camp
  • High School Research Program
  • Computational Adventures

Read

  • Stephen Wolfram's Writings
  • Wolfram Blog
  • Wolfram Tech | Books
  • Wolfram Media
  • Complex Systems

Educational Resources

  • Wolfram MathWorld
  • Wolfram in STEM/STEAM
  • Wolfram Challenges
  • Wolfram Problem Generator

Wolfram Initiatives

  • Wolfram Science
  • Wolfram Foundation
  • History of Mathematics Project

Events

  • Stephen Wolfram Livestreams
  • Online & In-Person Events
  • Contact Us
  • Connect & Follow
Wolfram|Alpha
  • Your Account
  • User Portal
  • Wolfram Cloud
  • Products
    • Wolfram|One
    • Mathematica
    • Wolfram Notebook Assistant + LLM Kit
    • System Modeler
    • Wolfram Player
    • Finance Platform
    • Wolfram|Alpha Notebook Edition
    • Wolfram Engine
    • Enterprise Private Cloud
    • Application Server
    • Wolfram Cloud App
    • Wolfram Player App

    More mobile apps

    • Core Technologies
      • Wolfram Language
      • Computable Data
      • Wolfram Notebooks
      • AI & Linguistic Understanding
    • Deployment Options
      • Wolfram Cloud
      • wolframscript
      • Wolfram Engine Community Edition
      • Wolfram LLM API
      • WSTPServer
      • Wolfram|Alpha APIs
    • From the Community
      • Function Repository
      • Community Paclet Repository
      • Example Repository
      • Neural Net Repository
      • Prompt Repository
      • Wolfram Demonstrations
      • Data Repository
    • Group & Organizational Licensing
    • All Products
  • Consulting & Solutions

    We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

    WolframConsulting.com

    Wolfram Solutions

    • Data Science
    • Artificial Intelligence
    • Biosciences
    • Healthcare Intelligence
    • Sustainable Energy
    • Control Systems
    • Enterprise Wolfram|Alpha
    • Blockchain Labs

    More Wolfram Solutions

    Wolfram Solutions For Education

    • Research Universities
    • Colleges & Teaching Universities
    • Junior & Community Colleges
    • High Schools
    • Educational Technology
    • Computer-Based Math

    More Solutions for Education

    • Contact Us
  • Learning & Support

    Get Started

    • Wolfram Language Introduction
    • Fast Intro for Programmers
    • Fast Intro for Math Students
    • Wolfram Language Documentation

    Grow Your Skills

    • Wolfram U

      Courses in computing, science, life and more

    • Community

      Learn, solve problems and share ideas.

    • Blog

      News, views and insights from Wolfram

    • Resources for

      Software Developers
    • Tech Support
      • Contact Us
      • Support FAQs
    • More Learning
      • Highlighted Core Areas
      • Demonstrations
      • YouTube
      • Daily Study Groups
      • Wolfram Schools and Programs
      • Books
    • Support FAQs
    • Contact Us
  • Company
    • About Wolfram
    • Career Center
    • All Sites & Resources
    • Connect & Follow
    • Contact Us

    Work with Us

    • Student Ambassador Initiative
    • Wolfram for Startups
    • Student Opportunities
    • Jobs Using Wolfram Language

    Educational Programs for Adults

    • Summer School
    • Winter School

    Educational Programs for Youth

    • Middle School Camp
    • High School Research Program
    • Computational Adventures

    Read

    • Stephen Wolfram's Writings
    • Wolfram Blog
    • Wolfram Tech | Books
    • Wolfram Media
    • Complex Systems
    • Educational Resources
      • Wolfram MathWorld
      • Wolfram in STEM/STEAM
      • Wolfram Challenges
      • Wolfram Problem Generator
    • Wolfram Initiatives
      • Wolfram Science
      • Wolfram Foundation
      • History of Mathematics Project
    • Events
      • Stephen Wolfram Livestreams
      • Online & In-Person Events
    • Contact Us
    • Connect & Follow
  • Wolfram|Alpha
  • Wolfram Cloud
  • Your Account
  • User Portal
Wolfram Language & System Documentation Center
SolveValues
  • See Also
    • Solve
    • Root
    • Reduce
    • FindInstance
    • NSolveValues
    • FindRoot
    • AsymptoticSolve
    • Eliminate
    • SolveAlways
    • LinearSolve
    • RowReduce
    • ToRadicals
    • GroebnerBasis
    • CylindricalDecomposition
    • DSolve
    • RSolve
    • ContourPlot
    • ContourPlot3D
    • RegionPlot
    • RegionPlot3D
    • GeometricScene
    • ImplicitD
  • Related Guides
    • Equation Solving
    • Polynomial Algebra
    • Polynomial Equations
    • Precollege Education
    • Symbolic Vectors, Matrices and Arrays
    • Solvers over Regions
    • Finite Fields
  • Tech Notes
    • Symbolic Mathematics: Basic Operations
    • Solving Equations
    • Simultaneous Equations
    • Solving Equations Involving Power Series
    • Solving Linear Systems
    • Solving Logical Combinations of Equations
    • Generic and Non‐Generic Solutions
    • Eliminating Variables
    • See Also
      • Solve
      • Root
      • Reduce
      • FindInstance
      • NSolveValues
      • FindRoot
      • AsymptoticSolve
      • Eliminate
      • SolveAlways
      • LinearSolve
      • RowReduce
      • ToRadicals
      • GroebnerBasis
      • CylindricalDecomposition
      • DSolve
      • RSolve
      • ContourPlot
      • ContourPlot3D
      • RegionPlot
      • RegionPlot3D
      • GeometricScene
      • ImplicitD
    • Related Guides
      • Equation Solving
      • Polynomial Algebra
      • Polynomial Equations
      • Precollege Education
      • Symbolic Vectors, Matrices and Arrays
      • Solvers over Regions
      • Finite Fields
    • Tech Notes
      • Symbolic Mathematics: Basic Operations
      • Solving Equations
      • Simultaneous Equations
      • Solving Equations Involving Power Series
      • Solving Linear Systems
      • Solving Logical Combinations of Equations
      • Generic and Non‐Generic Solutions
      • Eliminating Variables

SolveValues[expr,vars]

gives the values of vars determined by the solutions of the system expr.

SolveValues[expr,vars,dom]

uses solutions over the domain dom. Common choices of dom are Reals, Integers and Complexes.

Details and Options
Details and Options Details and Options
Examples  
Basic Examples  
Scope  
Basic Uses  
Complex Equations in One Variable  
Systems of Complex Equations in Several Variables  
Show More Show More
Real Equations in One Variable  
Systems of Real Equations and Inequalities in Several Variables  
Diophantine Equations  
Modular Equations  
Equations over Finite Fields  
Systems with Mixed-Variable Domains  
Systems with Geometric Region Constraints  
Options  
Assumptions  
Cubics  
GeneratedParameters  
Show More Show More
InverseFunctions  
MaxExtraConditions  
MaxRoots  
Method  
Modulus  
Quartics  
VerifySolutions  
WorkingPrecision  
Applications  
Properties & Relations  
Possible Issues  
See Also
Tech Notes
Related Guides
History
Cite this Page
BUILT-IN SYMBOL
  • See Also
    • Solve
    • Root
    • Reduce
    • FindInstance
    • NSolveValues
    • FindRoot
    • AsymptoticSolve
    • Eliminate
    • SolveAlways
    • LinearSolve
    • RowReduce
    • ToRadicals
    • GroebnerBasis
    • CylindricalDecomposition
    • DSolve
    • RSolve
    • ContourPlot
    • ContourPlot3D
    • RegionPlot
    • RegionPlot3D
    • GeometricScene
    • ImplicitD
  • Related Guides
    • Equation Solving
    • Polynomial Algebra
    • Polynomial Equations
    • Precollege Education
    • Symbolic Vectors, Matrices and Arrays
    • Solvers over Regions
    • Finite Fields
  • Tech Notes
    • Symbolic Mathematics: Basic Operations
    • Solving Equations
    • Simultaneous Equations
    • Solving Equations Involving Power Series
    • Solving Linear Systems
    • Solving Logical Combinations of Equations
    • Generic and Non‐Generic Solutions
    • Eliminating Variables
    • See Also
      • Solve
      • Root
      • Reduce
      • FindInstance
      • NSolveValues
      • FindRoot
      • AsymptoticSolve
      • Eliminate
      • SolveAlways
      • LinearSolve
      • RowReduce
      • ToRadicals
      • GroebnerBasis
      • CylindricalDecomposition
      • DSolve
      • RSolve
      • ContourPlot
      • ContourPlot3D
      • RegionPlot
      • RegionPlot3D
      • GeometricScene
      • ImplicitD
    • Related Guides
      • Equation Solving
      • Polynomial Algebra
      • Polynomial Equations
      • Precollege Education
      • Symbolic Vectors, Matrices and Arrays
      • Solvers over Regions
      • Finite Fields
    • Tech Notes
      • Symbolic Mathematics: Basic Operations
      • Solving Equations
      • Simultaneous Equations
      • Solving Equations Involving Power Series
      • Solving Linear Systems
      • Solving Logical Combinations of Equations
      • Generic and Non‐Generic Solutions
      • Eliminating Variables

SolveValues

SolveValues[expr,vars]

gives the values of vars determined by the solutions of the system expr.

SolveValues[expr,vars,dom]

uses solutions over the domain dom. Common choices of dom are Reals, Integers and Complexes.

Details and Options

  • The system expr can be any logical combination of:
  • lhs==rhsequations
    lhs!=rhsinequations
    lhs>rhs or lhs>=rhs inequalities
    expr∈domdomain specifications
    {x,y,…}∈regregion specification
    ForAll[x,cond,expr]universal quantifiers
    Exists[x,cond,expr]existential quantifiers
  • SolveValues[{expr1,expr2,…},vars] is equivalent to SolveValues[expr1&&expr2&&…,vars].
  • If a single variable is specified, the result is a list of values of the variable for which expr is True.
  • If a list of variables is specified, the result is a list of lists of values for the variables for which expr is True.
  • When a single variable is specified and a particular root of an equation has multiplicity greater than one, SolveValues gives several copies of the corresponding solution.
  • SolveValues[expr,vars] assumes by default that quantities appearing algebraically in inequalities are real, while all other quantities are complex.
  • SolveValues[expr,vars,dom] restricts all variables and parameters to belong to the domain dom.
  • If dom is Reals or a subset such as Integers or Rationals, then all constants and function values are also restricted to be real.
  • SolveValues[expr&&vars∈Reals,vars,Complexes] solves for real values of variables, but function values are allowed to be complex.
  • SolveValues[expr,vars,Integers] solves Diophantine equations over the integers.
  • SolveValues[…,x∈reg,Reals] constrains x to be in the region reg. The different coordinates for x can be referred to using Indexed[x,i].
  • Algebraic variables in expr free of vars and of each other are treated as independent parameters.
  • SolveValues deals primarily with linear and polynomial equations.
  • When expr involves only polynomial equations and inequalities over real or complex domains, then SolveValues can always in principle solve directly for vars.
  • When expr involves transcendental conditions or integer domains, SolveValues will often introduce additional parameters in its results.
  • SolveValues can give explicit representations for solutions to all linear equations and inequalities over the integers and can solve a large fraction of Diophantine equations described in the literature.
  • When expr involves only polynomial conditions over real or complex domains, SolveValues[expr,vars] will always be able to eliminate quantifiers.
  • SolveValues gives generic solutions only. Solutions that are valid only when continuous parameters satisfy equations are removed. Other solutions that are only conditionally valid are expressed as ConditionalExpression objects.
  • Conditions included in ConditionalExpression solutions may involve inequalities, Element statements, equations and inequations on non-continuous parameters and equations with full-dimensional solutions. Inequations and NotElement conditions on continuous parameters and variables are dropped.
  • SolveValues may use non-equivalent transformations to find solutions of transcendental equations and hence it may not find some solutions and may not establish exact conditions on the validity of the solutions found. If this happens, an error message is issued.
  • SolveValues uses special efficient techniques for handling sparse systems of linear equations with approximate numerical coefficients.
  • The following options can be given:
  • Assumptions $Assumptionsassumptions on parameters
    Cubics Automaticwhether to use explicit radicals to solve all cubics
    GeneratedParameters Chow to name parameters that are generated
    InverseFunctions Automaticwhether to use symbolic inverse functions
    MaxExtraConditions 0how many extra equational conditions on continuous parameters to allow
    MaxRoots Infinitymaximum number of roots returned
    Method Automaticwhat method should be used
    Modulus 0modulus to assume for integers
    Quartics Automaticwhether to use explicit radicals to solve all quartics
    VerifySolutions Automaticwhether to verify solutions obtained using non-equivalent transformations
    WorkingPrecision Infinityprecision to be used in computations
  • With MaxExtraConditions->Automatic, only solutions that require the minimal number of equational conditions on continuous parameters are included.
  • With MaxExtraConditions->All, solutions that require arbitrary conditions on parameters are given and all conditions are included.
  • With MaxExtraConditions->k, only solutions that require at most k equational conditions on continuous parameters are included.
  • With Method->Reduce, SolveValues uses only equivalent transformations and finds all solutions.
  • SolveValues[eqns,…,Modulus->m] solves equations over the integers modulo m. With Modulus->Automatic, SolveValues will attempt to find the largest modulus for which the equations have solutions.

Examples

open all close all

Basic Examples  (5)

Solve a quadratic equation:

Solve simultaneous equations in and :

Solve an equation over the reals:

Solve an equation over the positive integers:

Solve equations in a geometric region:

Scope  (87)

Basic Uses  (7)

Solutions are given as lists of values of the specified variables:

Check that solutions satisfy the equations:

If there are no solutions, SolveValues returns an empty list:

Some of the variables may appear in the solutions as free parameters:

Find solutions over specified domains:

Solve equations with coefficients involving a symbolic parameter:

Plot the real parts of the solutions for y as a function of the parameter a:

Solution of this equation over the reals requires conditions on the parameters:

Use Normal to remove the conditions:

Solution of this equation over the positive integers requires introduction of a new parameter:

List the first 10 solutions:

Complex Equations in One Variable  (16)

Polynomial equations solvable in radicals:

To use general formulas for solving cubic equations, set CubicsTrue:

By default, SolveValues uses Root objects to represent solutions of general cubic equations:

General polynomial equations:

Polynomial equations with multiple roots:

Find five roots of a polynomial of a high degree:

Polynomial equations with symbolic coefficients:

Algebraic equations:

Complete solutions to transcendental equations:

Partial solutions to transcendental equations:

SolveValues cannot find all solutions here:

Find three solutions:

Univariate elementary function equations over bounded regions:

Univariate holomorphic function equations over bounded regions:

Here SolveValues finds some solutions but is not able to prove there are no other solutions:

Equation with a purely imaginary period over a vertical stripe in the complex plane:

Find a specified number of roots of an unrestricted complex equation:

Symbolic functions:

Nonanalytic complex equations:

Systems of Complex Equations in Several Variables  (12)

Systems of linear equations:

Linear equations with symbolic coefficients:

Underdetermined systems of linear equations:

Linear equations with no solutions:

Systems of polynomial equations:

Find five out of a trillion roots of a polynomial system:

Polynomial equations with symbolic coefficients:

Algebraic equations:

Transcendental equations:

Find a specified number of solutions of transcendental equations:

Square analytic systems over bounded boxes:

Nonanalytic equations:

Real Equations in One Variable  (13)

Polynomial equations:

Polynomial equations with multiple roots:

Polynomial equations with symbolic coefficients:

Algebraic equations:

Piecewise equations:

Transcendental equations, solvable using inverse functions:

Transcendental equations, solvable using special function zeros:

Transcendental inequalities, solvable using special function zeros:

Exp-log equations:

High-degree sparse polynomial equations:

Algebraic equations involving high-degree radicals:

Equations involving non-rational real powers:

Equation with a double root:

Tame elementary function equations:

Elementary function equations in bounded intervals:

Holomorphic function equations in bounded intervals:

Periodic elementary function equations over the reals:

Systems of Real Equations and Inequalities in Several Variables  (10)

Linear systems:

Polynomial systems:

Quantified polynomial systems:

Algebraic systems:

Piecewise systems:

Transcendental systems, solvable using inverse functions:

Systems exp-log in the first variable and polynomial in the other variables:

Quantified system:

Systems elementary and bounded in the first variable and polynomial in the other variables:

Quantified system:

Systems holomorphic and bounded in the first variable and polynomial in the other variables:

Quantified system:

Square systems of analytic equations over bounded regions:

Diophantine Equations  (11)

Linear systems of equations:

Linear systems of equations and inequalities:

Univariate polynomial equations:

Binary quadratic equations:

Thue equations:

Sum of squares equations:

The Pythagorean equation:

Bounded systems of equations and inequalities:

High‐degree systems with no solutions:

Transcendental Diophantine systems:

Polynomial systems of congruences:

Modular Equations  (4)

Linear systems:

Univariate polynomial equations:

Systems of polynomial equations and inequations:

Quantified polynomial systems:

Equations over Finite Fields  (3)

Univariate equations:

Systems of linear equations:

Systems of polynomial equations:

Systems with Mixed-Variable Domains  (2)

Mixed real and complex variables:

Mixed real and integer variables:

Systems with Geometric Region Constraints  (9)

Solve over special regions in 2D:

Plot it:

Solve over special regions in 3D:

Plot it:

A quantified system:

An implicitly defined region:

A parametrically defined region:

Derived regions:

Plot it:

Eliminate quantifiers over a Cartesian product of regions:

Regions dependent on parameters:

The answer depends on the parameter value :

Use to specify that is a vector in :

In this case, is a vector in :

Options  (26)

Assumptions  (4)

Specify conditions on parameters using Assumptions:

By default, no solutions that require parameters to satisfy equations are produced:

With an equation on parameters given as an assumption, a solution is returned:

Assumptions that contain solve variables are considered to be a part of the system to solve:

Equivalent statement without using Assumptions:

With parameters assumed to belong to a discrete set, solutions involving arbitrary conditions are returned:

Cubics  (3)

By default, SolveValues uses general formulas for solving cubics in radicals only when symbolic parameters are present:

For polynomials with numeric coefficients, SolveValues does not use the formulas:

With Cubics->False, SolveValues never uses the formulas:

With Cubics->True, SolveValues always uses the formulas:

GeneratedParameters  (1)

SolveValues may introduce new parameters to represent the solution:

Use GeneratedParameters to control how the parameters are generated:

InverseFunctions  (3)

By default, SolveValues uses inverse functions but prints warning messages:

For symbols with the NumericFunction attribute, symbolic inverses are not used:

With InverseFunctions->True, SolveValues does not print inverse function warning messages:

Symbolic inverses are used for all symbols:

With InverseFunctions->False, SolveValues does not use inverse functions:

Solving algebraic equations does not require using inverse functions:

Here, a method based on Reduce is used, as it does not require using inverse functions:

MaxExtraConditions  (4)

By default, no solutions requiring extra conditions are produced:

Unless the parameters are discrete:

The default setting, MaxExtraConditions->0, gives no solutions requiring conditions:

MaxExtraConditions->1 gives solutions requiring up to one equation on parameters:

MaxExtraConditions->2 gives solutions requiring up to two equations on parameters:

Give solutions requiring the minimal number of parameter equations:

Give all solutions:

By default, SolveValues drops inequation conditions on continuous parameters:

With MaxExtraConditions->All, SolveValues includes all conditions:

MaxRoots  (4)

Find out of roots of a polynomial:

Find out of roots of a polynomial system:

Find solutions of a transcendental system:

When the system contains symbolic parameters, the option value is ignored:

Method  (1)

By default, SolveValues uses inverse functions to solve non-polynomial complex equations:

With Method->Reduce, SolveValues uses Reduce to find the complete solution set:

Modulus  (1)

Solve equations over the integers modulo 9:

Quartics  (3)

By default, SolveValues uses the general formulas for solving quartics in radicals only when symbolic parameters are present:

For polynomials with numeric coefficients, SolveValues does not use the formulas:

With Quartics->False, SolveValues never uses the formulas:

With Quartics->True, SolveValues always uses the formulas:

VerifySolutions  (1)

SolveValues verifies solutions obtained using non-equivalent transformations:

With VerifySolutions->False, SolveValues does not verify the solutions:

Some of the solutions returned with VerifySolutions->False are not correct:

This uses a fast numeric test in an attempt to select correct solutions:

In this case, numeric verification gives the correct solution set:

WorkingPrecision  (1)

By default, SolveValues finds exact solutions of equations:

Computing the solution using 100-digit numbers is faster:

The result agrees with the exact solution in the first 100 digits:

Computing the solution using machine numbers is much faster:

The result is still quite close to the exact solution:

Applications  (7)

Solve a quadratic equation:

Find intersection points of a circle and a parabola:

Find conditions for a quartic to have all roots equal:

A method using Subresultants:

A method using quantifier elimination:

Plot a space curve given by an implicit description:

Plot the projection of the space curve on the {x,y} plane:

Find a Pythagorean triple:

Find a sequence of Pythagorean triples:

Find how to pay $2.27 postage with 10-, 23-, and 37-cent stamps:

The same task can be accomplished with IntegerPartitions:

Find 200 roots of a complex analytic function:

Show the roots on the complex plot for the function:

Properties & Relations  (15)

Solutions are given as lists and satisfy the equations:

For univariate equations, SolveValues repeats solutions according to their multiplicity:

Solutions of algebraic equations are often given in terms of Root objects:

Use N to compute numeric approximations of Root objects:

Root objects may involve parameters:

Use Series to compute series expansions of Root objects:

The series satisfies the equation up to order 11:

SolveValues gives values of the solutions:

Solve represents solutions in terms of replacement rules:

Reduce represents solutions in terms of Boolean combinations of equations and inequalities:

SolveValues uses fast heuristics to solve transcendental equations, but may give incomplete solutions:

Reduce uses methods that are often slower, but finds all solutions and gives all necessary conditions:

Use FindInstance to find solution instances:

Like Reduce, FindInstance can be given inequalities and domain specifications:

Use DSolve to solve differential equations:

Use RSolve to solve recurrence equations:

SolveAlways gives the values of parameters for which complex equations are always true:

The same problem can be expressed using ForAll and solved with SolveValues, Solve or Reduce:

Resolve eliminates quantifiers, possibly without solving the resulting quantifier-free system:

Eliminate eliminates variables from systems of complex equations:

This solves the same problem using Resolve:

Reduce, Solve and SolveValues additionally solve the resulting equations:

is bijective iff the equation has exactly one solution for each :

Use FunctionBijective to test whether a function is bijective:

Use FunctionAnalytic to test whether a function is analytic:

An analytic function can have only finitely many zeros in a closed and bounded region:

SolveValues finds an explicit function of satisfying the equation :

Use ImplicitD to find the derivative of an implicitly defined function:

Possible Issues  (9)

SolveValues gives generic solutions; solutions involving equations on parameters are not given:

Reduce gives all solutions, including those that require equations on parameters:

With MaxExtraConditions->All, SolveValues also gives non-generic solutions:

SolveValues results do not depend on whether some of the input equations contain only parameters. The following two systems are equivalent and have no generic solutions:

Use MaxExtraConditions to specify the number of parameter conditions allowed:

Use the Exists quantifier to find solutions that are valid for some value of parameter a:

SolveValues does not eliminate solutions that are neither generically correct nor generically incorrect:

The solutions are correct for and incorrect for :

For transcendental equations, SolveValues may not give all solutions:

Use Reduce to get all solutions:

SolveValues with Method->"Reduce" uses Reduce to find solutions, but returns solution values:

Using inverse functions allows SolveValues to find some solutions fast:

Finding the complete solution may take much longer, and the solution may be large:

This finds the values of n for which x==2 is a solution:

Interpretation of assumptions depends on their syntactic properties. Here the solution is generic in the parameter space restricted by the assumptions:

This mathematically equivalent assumption contains the solve variable, and hence is treated as a part of the system to solve:

There are no generic solutions, because the input is interpreted as:

The solution is non-generic, since it requires the parameters to satisfy an equation:

When parameters are restricted to a discrete set, the notion of genericity is not well defined, and all solutions are returned:

Removable singularities of input equations are generally not considered valid solutions:

However, solutions may include removable singularities that are cancelled by automatic simplification:

The removable singularity at is cancelled by evaluation:

Here the removable singularity at is cancelled by Together, which is used to preprocess the equation:

The value of MaxRoots is used only for systems with numeric coefficients:

When symbolic parameters are present, the option value is ignored:

Expressions given as variables are treated as atomic objects and not as functions of their subexpressions:

Effectively, variables are replaced with new symbols before the equations are solved:

The result comes from:

See Also

Solve  Root  Reduce  FindInstance  NSolveValues  FindRoot  AsymptoticSolve  Eliminate  SolveAlways  LinearSolve  RowReduce  ToRadicals  GroebnerBasis  CylindricalDecomposition  DSolve  RSolve  ContourPlot  ContourPlot3D  RegionPlot  RegionPlot3D  GeometricScene  ImplicitD

Tech Notes

    ▪
  • Symbolic Mathematics: Basic Operations
  • ▪
  • Solving Equations
  • ▪
  • Simultaneous Equations
  • ▪
  • Solving Equations Involving Power Series
  • ▪
  • Solving Linear Systems
  • ▪
  • Solving Logical Combinations of Equations
  • ▪
  • Generic and Non‐Generic Solutions
  • ▪
  • Eliminating Variables

Related Guides

    ▪
  • Equation Solving
  • ▪
  • Polynomial Algebra
  • ▪
  • Polynomial Equations
  • ▪
  • Precollege Education
  • ▪
  • Symbolic Vectors, Matrices and Arrays
  • ▪
  • Solvers over Regions
  • ▪
  • Finite Fields

History

Introduced in 2021 (12.3) | Updated in 2024 (14.0)

Wolfram Research (2021), SolveValues, Wolfram Language function, https://reference.wolfram.com/language/ref/SolveValues.html (updated 2024).

Text

Wolfram Research (2021), SolveValues, Wolfram Language function, https://reference.wolfram.com/language/ref/SolveValues.html (updated 2024).

CMS

Wolfram Language. 2021. "SolveValues." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/SolveValues.html.

APA

Wolfram Language. (2021). SolveValues. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SolveValues.html

BibTeX

@misc{reference.wolfram_2025_solvevalues, author="Wolfram Research", title="{SolveValues}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/SolveValues.html}", note=[Accessed: 01-December-2025]}

BibLaTeX

@online{reference.wolfram_2025_solvevalues, organization={Wolfram Research}, title={SolveValues}, year={2024}, url={https://reference.wolfram.com/language/ref/SolveValues.html}, note=[Accessed: 01-December-2025]}

Top
Introduction for Programmers
Introductory Book
Wolfram Function Repository | Wolfram Data Repository | Wolfram Data Drop | Wolfram Language Products
Top
  • Products
  • Wolfram|One
  • Mathematica
  • Notebook Assistant + LLM Kit
  • System Modeler

  • Wolfram|Alpha Notebook Edition
  • Wolfram|Alpha Pro
  • Mobile Apps

  • Wolfram Player
  • Wolfram Engine

  • Volume & Site Licensing
  • Server Deployment Options
  • Consulting
  • Wolfram Consulting
  • Repositories
  • Data Repository
  • Function Repository
  • Community Paclet Repository
  • Neural Net Repository
  • Prompt Repository

  • Wolfram Language Example Repository
  • Notebook Archive
  • Wolfram GitHub
  • Learning
  • Wolfram U
  • Wolfram Language Documentation
  • Webinars & Training
  • Educational Programs

  • Wolfram Language Introduction
  • Fast Introduction for Programmers
  • Fast Introduction for Math Students
  • Books

  • Wolfram Community
  • Wolfram Blog
  • Public Resources
  • Wolfram|Alpha
  • Wolfram Problem Generator
  • Wolfram Challenges

  • Computer-Based Math
  • Computational Thinking
  • Computational Adventures

  • Demonstrations Project
  • Wolfram Data Drop
  • MathWorld
  • Wolfram Science
  • Wolfram Media Publishing
  • Customer Resources
  • Store
  • Product Downloads
  • User Portal
  • Your Account
  • Organization Access

  • Support FAQ
  • Contact Support
  • Company
  • About Wolfram
  • Careers
  • Contact
  • Events
Wolfram Community Wolfram Blog
Legal & Privacy Policy
WolframAlpha.com | WolframCloud.com
© 2025 Wolfram
© 2025 Wolfram | Legal & Privacy Policy |
English