Mathematica にはさまざまな種類の方程式を解くことを可能にする強力な機能が数多く備わっている.
Solveを使って方程式を解くことができる.方程式には「=」ではなく「

」を使用しなくてはならないことに注意:
| Out[1]= |  |
結果は2重にネストされたリストの中の
Ruleである.外側のリストが解のすべてを含み,内側のリストのそれぞれが単独の解を含む.ここでは,3つの解がある:
| Out[2]= |  |
| Out[3]= |  |
ここでは連立方程式に2つの解が存在する.それぞれの解集合はそれ自身のリストにラップされている:
| Out[4]= |  |
| Out[5]= |  |
これらの解の1つを計算で使いたい(ここでは最初の解が示されている)場合は,
[[...]] (
Partの簡略表記)を使ってそれを解のリストから抽出してから
/.(
ReplaceAllの短縮形)を使って規則を適用する:
| Out[6]= |  |
例えば以下は,最初の解が正しいと想定した場合の
y の異なる値に対する
x^2-y^2 のプロットである:
| Out[7]= |  |
複数の変数を持つ方程式系では,第2引数のリストを使うことによって,一部あるいはすべての変数について解くことができる:
| Out[8]= |  |
方程式系が完全には指定されていない場合には,
Mathematica は残りの変数について答を返す:
| Out[9]= |  |
Solveは方程式のいわゆる「一般」解として知られているものを求める.これらは,第2引数で指定されていない変数に依存しない解である.例えば:
| Out[10]= |  |
y が何であれ,
x に0を当てはめることによって方程式を解くことができる.しかし,
y に依存するもう1つの解も存在する.つまり
y を0に設定するという方法である.第2引数に
y を加えることによって以下の解が表示される:
| Out[11]= |  |
Solveがすべての解を求めないという場合もある.例えば:
| Out[12]= |  |
| Out[13]= |  |
Reduceの出力は
Solveの出力とは異なる.
Reduceはもとの方程式に等しい論理的な式を出力するため,解を削除することは決してない:
| Out[14]= |  |
| Out[15]= |  |