If I had had SpeedCrunch or Qalculate! during high school, finishing homework really would've been child's play. From breaking down complex algebraic equations, to solving your calculus problems, to performing geometric computations and providing statistical answers, SpeedCrunch and Qalculate! are tools that offer quick solutions to difficult questions.

SpeedCrunch is the lesser of the two beasts. It runs not only on Linux but also on Windows and Mac OS X, and offers over 50 mathematical functions, unlimited variable storage, automatic completion, expression history, and more. It's available in the software repositories for most distributions, or you can grab the tarball from the project's Download page.

Once installed, you can launch SpeedCrunch from the Applications -> Accessories menu if you're running GNOME or from the Utilities menu on KDE. One of the most useful buttons on SpeedCrunch's keypad is `ans`

. Whenever you compute any value with SpeedCrunch, the answer gets stored in `ans`

. For instance, if you enter `2^8-10+14*6`

, the answer, 330, is stored in `ans`

, which means you can then enter `ans*4-16`

.

Another cool feature is variable storage. This means you can set `x = 7`

and `y = 4`

and then solve equations such as `z = 4*x+5*y^2-17`

. To delete the value of a stored valuable, click Edit -> Delete Variable and then select the variable from the list. Along with these variables, SpeedCrunch also remembers every expression you ever enter, and you can browse through the history of expressions by using the up and down arrow keys. SpeedCrunch remembers expression history across sessions, but you can click Edit -> Clear History to hide all traces of using SpeedCrunch to do your homework.

By default, SpeedCrunch displays up to 20 decimal digits where applicable. You can change this behavior from the View menu. To see a list of supported mathematical functions and pre-stored constants, click Settings -> Show Function List and Settings -> Show Constants List. You can then access the functions and constants from a tabbed right panel.

#### Qalculate!

If SpeedCrunch doesn't impress you enough and you want even more from your calculator, such as solving calculus or trigonometry problems, turn to Qalculate!. Like SpeedCrunch, Qalculate! is available in the software repositories of most distributions. Ubuntu users can install it with the standard `sudo apt-get install qalculate`

command, while Fedora users have to run `su -c "yum install qalculate-gtk"`

.

After installing Qalculate!, GNOME users can launch it from the Applications -> Accessories menu, and KDE users from the Utilities menu. Aside from the regular algebraic expressions discussed above, Qalculate! offers many more mathematical functions which you can access from the Functions menu. Each function is listed under the relevant heading, so you'll find Integrate and Derive under Calculus, and Tangent, Sine, and Cosine under Trigonometry.

Like the Functions menu, a Units menu is organized such that you'll find Illuminance, Radiance, and Luminous Flux under the Light heading.

You can use Qalculate! to perform any number of complex operations, such as calculating loan amounts or computing accursed interest rates, by choosing the appropriate function from the Function menu.

Among Qalculate!'s simpler features is a currency converter. For instance, when you type `240 USD + 18 RUB - 2 EUR + 60 YEN = x USD`

in the expression field, Qalculate! answers `x~=238.34878`

. To make sure your calculations use current values, click File -> Update Exchange Rates. Supported currencies are listed under Units -> Currency.

If you wish to view your expression history, click the History button, and the keypad will be replaced with the history. Clicking the Keypad button will bring up the keypad back. Like SpeedCrunch, Qalculate! too offers an ans variable to store the result of the last expression.

In addition to the plethora of functions and variables already on offer, you can create your own functions or modify existing ones by clicking Edit -> Manage Functions. In the Functions window, the categories are listed on the left while the functions are in the middle of the window under the Function heading. To modify a function, select it from the list and click the Edit button at the right of the window. From the Functions window you can also create your own functions by clicking the New button. You can similarly edit or create new units and variables.

Qalculate!'s autocompletion feature quickly prompts you with all possible variables, functions, and units as soon as you start typing. For instance, on typing c, Qalculate! suggest circle, circumference, cal, cal-mean, candela, and more than a dozen more in-built values.

Make sure you go through the manual before venturing to solve any complex problems with Qalculate!, to get a feel of what Qalculate! is capable of and to understand how to input the values for various functions, such as integration.

In all my playing around with SpeedCrunch and Qalculate!, trying different functions and punching numbers, I couldn't find any weaknesses in either. These two calculators are as tough as the problems they were designed to solve and are by far the best calculators I have come across. Both have their advantages and are distinct enough to appeal to different classes of users. I'd turn to Qalculate! for more complex problems, since it supports more functions and offers advanced features such as its wide range of statistical solutions, but I'd be content with SpeedCrunch if I needed to solve quadratic equations.