Indefinite Integral of Polynomial Calculator
Integrate 3x³ − 4x + 7 in one step and get (3/4)x⁴ − 2x² + 7x + C: each coefficient is divided by its new exponent, with zeros keeping missing powers in place. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Coefficients
- 3, 0, -4, 7
- Antiderivative coefficients
- 0.75, 0, -2, 7, 0
- Constant term
- C
This indefinite integral of a polynomial calculator applies the reverse power rule directly to a coefficient list. Enter coefficients from the highest power down to the constant term, keeping zero entries wherever a power is missing. The result gives the antiderivative coefficients in that same order, appends a zero placeholder for the freely chosen constant coefficient, and identifies the arbitrary integration constant as C. It is a deterministic way to integrate an entire polynomial without entering a symbolic expression.
Represent the polynomial as coefficients
Start by writing the polynomial in descending power order. For example, the coefficient list [3, 0, -4, 7] represents 3x³ + 0x² - 4x + 7. The zero is important because its position preserves the missing quadratic power.
The first coefficient always belongs to the highest power implied by the list length, and the last coefficient is the original constant term. A one-value list is therefore a constant polynomial, not an empty expression. Use only finite numbers and keep every required zero between nonzero terms.
Leading zeros are accepted and retain their positions, so [0, 2, 1] is processed as a quadratic-form coefficient list whose leading term happens to be zero. This positional contract avoids the ambiguity of parsing algebraic notation, variable names, signs, or omitted powers. It also makes the calculator suitable for output copied from numerical software, spreadsheets, or an earlier polynomial operation.
The response uses the same highest-power-first convention, making it straightforward to pass the coefficients to another compatible calculation.
Apply the reverse power rule
For every term a·xⁿ, integration increases the exponent by one and divides the coefficient by that new exponent, producing a/(n+1)·xⁿ⁺¹. The calculator determines each original exponent from the coefficient position and performs that division across the entire list. With [3, 0, -4, 7], the terms become 3/4·x⁴, 0·x³, -2·x², and 7x.
The returned coefficient list then includes a final zero position for the constant coefficient. Keeping those ideas separate is useful in software: numeric consumers receive a consistently shaped array, while a displayed mathematical answer can append + C. Differentiating the returned polynomial coefficients, apart from the arbitrary constant, recovers the original coefficient list.
This provides a simple check on both the order and the arithmetic.
Interpret and use the result
If a boundary condition later specifies a particular point and function value, solve for C separately and replace the final zero placeholder with that numeric value. This capability intentionally does not evaluate definite integrals, simplify symbolic fractions, infer a coefficient list from typed algebra, or solve an initial-value problem. Decimal division follows standard JavaScript number arithmetic, so values such as one third are represented by their finite floating-point approximation.
For exact rational output, a symbolic algebra workflow is more appropriate. Within those boundaries, the result is stable and repeatable: there is no network access, random choice, stored state, or clock-dependent behavior.
What you can do with it
Check a calculus exercise
Compare a hand-computed reverse power rule result with a deterministic coefficient-by-coefficient antiderivative.
Build an educational worksheet
Generate answer data for polynomial integration questions while preserving missing powers as explicit zeros.
Continue a numeric pipeline
Convert polynomial coefficients into a consistently ordered antiderivative array for later evaluation or boundary-condition processing.
FAQ
What order should the coefficients use?
Use descending power order, from the coefficient of the highest power to the original constant term.
How do I represent a missing power?
Include a zero in that power's position. Omitting it would shift every coefficient that follows.
Why does the returned array end in zero?
The final zero is a numeric placeholder for the arbitrary constant coefficient.
Can it integrate a constant polynomial?
Yes. A one-value input [a] returns [a, 0], corresponding to ax + C.
What is the indefinite integral of 3x³ − 4x + 7?
It is (3/4)x⁴ − 2x² + 7x + C. Enter 3, 0, −4 and 7, with the zero standing for the missing x² term, and the calculator returns those terms in the same order, followed by a final 0 that holds the place of C.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/calculus/indefinite-integral-polynomial \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"coefficients":[3,0,-4,7]}'const res = await fetch("https://api.kit.forhosting.com/calculus/indefinite-integral-polynomial", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"coefficients": [
3,
0,
-4,
7
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calculus/indefinite-integral-polynomial",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"coefficients": [
3,
0,
-4,
7
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calculus/indefinite-integral-polynomial", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"coefficients":[3,0,-4,7]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"coefficients":[3,0,-4,7]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calculus/indefinite-integral-polynomial", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"coefficients": [
3,
0,
-4,
7
]
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calculus.indefinite_integral_polynomial",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Apply the reverse power rule
That zero does not claim that every antiderivative has constant zero; it gives a numeric placeholder in the coefficient array while the separate constant_term field reports C, the arbitrary real constant.
Interpret and use the result
Read antiderivative_coefficients from left to right as coefficients of powers one degree higher than the input polynomial, ending with the numeric placeholder for the integration constant. Read constant_term as the symbolic reminder that indefinite integration produces a family of functions rather than one unique function.
Technical questions
Does it return exact fractions?
No. Coefficients are JSON numbers, so nonterminating fractions use standard floating-point approximations.
What does an API request cost?
Each API request costs $0.002. The browser version runs locally without a network calculation.